- 博客(42)
- 资源 (1)
- 收藏
- 关注
原创 散列表(真题)
1.给一个字符串,统计字符串中每个字符出现的次数,连续出现算一次【如abcbbbd,b出现了2次】遍历字符串数组,遇到相同的字符跳过统计,否则更新出现次数。创建散列表存储每个字符出现的次数。
2024-08-05 16:29:06
179
1
原创 二叉树(真题)
当前指针不为空访问当前结点,当前节点入栈,进入左子树。1.用非递归遍历求二叉树结点个数【计学2020】当前指针为空,栈顶元素出栈(回溯),进入右子树。当前指针不为空或栈不为空进行循环;算法思想:用先序非递归遍历。
2024-08-05 00:01:25
200
2
原创 -计算1+2+3+......+100(java实现)-
循环开始, 当num等于1时,满足循环条件,num++,2会被加入sum中,缺了1。当num等于100时满足循环条件,进入循环num++,101会被加入sum中。上述代码执行结果5150,为什么多了100呢?注意:下面是一种典型的错误写法。综上,和正确答案差了100。
2024-02-01 16:45:11
539
原创 -判断某年是否为闰年(java实现)-
找到两个普通闰年和世纪闰年的关联点,即是否为100的倍数。世纪闰年:公历年份是100的倍数,且是400的倍数。普通闰年:公历年份是4的倍数,且不是100的倍数。普通闰年和世纪闰年都是闰年。
2024-02-01 14:35:34
208
原创 String
目录一.默认成员函数(一).constructor(构造函数)(二).destructor(析构函数)(三).operator=(赋值运算符重载)二.Element access(元素访问)(一).operator[]1.运用 2.实现机理(二).at(三).back与front三.Iterators(迭代器)(一).迭代器1.迭代器用法2.注意事项 3.为什么有了[]访问数组,还需要用迭代器呢?4.范围for(二).反向迭代器(三).const迭代器(四).const反向迭代器(五).其余几个迭代器四.访
2022-12-07 23:04:28
316
原创 LeetCode-917. 仅仅反转字母
传送门:仅仅反转字母给你一个字符串 s ,根据下述规则反转字符串:所有非英文字母保留在原有位置。所有英文字母(小写或大写)位置反转。返回反转后的 s 。思路:代码:
2022-12-03 20:39:25
93
原创 415.字符串相加(leetcode)
两个字符串相加(leetcode),怎么做呢?注意:1.要把字符转换成数字,减去字符02.一位一位加,注意记录进位3.运算完成后,再转换为字符,存进字符数组里
2022-11-22 20:15:39
145
原创 通讯录的代码实现(附带完整代码)
我们再写通讯录之前,首先要搞明白通讯录有什么样的功能。它需要保存若干联系人信息,还要有增加联系人,删除联系人,修改联系人信息,查找联系人信息的功能。我们需要写三个文件(contact.h(放函数的声明,defiine标识符常量等) contact.c(每个函数的具体实现过程) test.c(函数的主体))1.我们可以用结构体PeoInfo将每一个人的姓名,性别,电话,年龄,家庭地址等信息用结构体存储起来。2.我们需要用另一个结构体Contact将代表这1000个人的数组,指向当前所操作的人的
2022-04-18 18:20:09
8427
3
原创 关于动态内存开辟一些经典问题的讨论
1.读下面的程序#include<stdio.h>#include<stdlib.h>#include<string.h>void GetMemory(char *p){ p = (char *)malloc(100);}void Test(void){ char *str = NULL; GetMemory(str); strcpy(str, "hello world"); printf(str);}int main(){ Test
2022-04-15 20:05:57
113
1
原创 C经典题目
1.调整数组使得奇数全部位于偶数前面#include<stdio.h>void move(int arr[], int sz){ int i = 0; int left = 0; int right = sz - 1; while (left < right) { while (arr[left] % 2 != 0 && left < right) { left++; break; } while (arr[right
2022-04-14 11:18:01
523
原创 每日一刷-4-12
1.阅读下面两段代码( * (void(*)())0)();//1void(*signal(int, void(*)(int)))(int);//2代码1:void(*)()是函数指针类型把0强转成函数指针类型,也就是说0地址处放置这一个没有参数且返回值为void的一个函数,然后调用这个函数。代码2:这是一个函数声明2.函数指针数组的初始化与调用#include<stdio.h>int Add(int x, int y){ return x
2022-04-12 23:49:39
104
原创 每日一刷-(4-11)
1.用指针数组模拟打印二维数组#include<stdio.h>#include<stdlib.h>int main(){ int a1[] = { 1,2,3,4,5 }; int a2[] = { 2,3,4,5,6 }; int a3[] = { 6,3,4,5,7 }; int* parr[3] = { a1, a2, a3 }; for (int i = 0; i < 3; i++) { for (int j = 0; j < 5;
2022-04-11 22:17:02
85
原创 库函数strcpy(注意事项+模拟实现)
我们一定很熟悉strcpy这个库函数,下面我们将介绍使用它时的注意事项,及自己模拟实现。一、注意事项:1.使用库函数要引头文件(可查看MSDN帮助文档)2.使用strcpy库函数时,要注意源字符串要以'\0'结尾。(\0是strcpy函数内部循环的结束标志)3.strcpy函数在拷贝时也会把源字符串中的'\0'拷贝到目标字符串中作为拷贝结束的标志。4.目标空间必须足够大存放的下源字符串。常见错误:char arr1[] = {0}; char arr2[] = "abcdefy";
2022-04-02 17:36:27
1624
原创 模拟实现库函数strlen(三种方式)
1.用count计数器#include<stdio.h>#include<assert.h>size_t my_strlen(char* str){ assert(str != NULL); int count = 0; while (*str != '\0') { str++; count++; } return count;}int main(){ char arr[] = "abcdef"; int len = my_strlen(ar
2022-04-02 15:48:49
378
原创 深入理解计算机系统(1)
一、信息就是位+上下文为什么信息就是位+上下文eg:int a = 10;a在内存中存储的是00000000000000000000000000001010,以整形的方式解读他是10,但是以浮点数的方式解释,他就不是10了,因此上下文不同,即使内存中存储的一段相同的二进制位,解读方式也不一样。(一)、源程序(源文件)(hello.c)源程序中的每一个字符都用ASCII码值表示#include<stdio.h>int main(){ printf("Hello wor...
2022-03-26 21:16:39
933
1
原创 浮点数在内存中的存储方式
目录一、存储准则二:浮点数的存储与读取方式(一)将浮点数存储进内存(二)将浮点数从内存中拿出1.E不全为0或者不全为12.E全为03.E全为1三、图解与举例四、代码练习一、存储准则根据国际标准IEEE(电气和电子工程协会) 754,任意一个二进制浮点数V可以表示成下面的形式:(-1)^S * M * 2^E (-1)^s表示符号位,当s=0,V为正数;当s=1,V为负数。 M表示有效数字,大于等于1,小于2。 2^E表示指数位。二:...
2022-03-11 10:48:20
9945
7
原创 初始C语言2
前言:什么是C语言1.他是人与计算机交流的语言2.C语言是一种常见的计算机语言,广泛应用于底层开发一、常量字面常量 const修饰的常变量 #define定义的标识常量 枚举常量(一)、字面常量整型常量:30浮点型常量:3.14字符常量:’a‘字符串常量:“abcdef”(二)、const修饰的常变量 const int num = 10; printf("%d\n", num); num = 20;//错误,num被const限定,无法修改c
2022-02-20 22:17:18
417
原创 C4996 ‘scanf‘: This function or variable may be unsafe. Consider using scanf_s (vs中提示错误:scanf函数)
C4996 'scanf': This function or variable may be unsafe. Consider using scanf_s (vs中提示错误:scanf函数)
2022-02-10 13:14:07
1287
原创 C语言学习计划
学习目标1.坚持写博客,从这种知识输出的过程中加深对于知道的理解。2.坚持每天写代码.3.在学习过程中读相关书籍(明解C语言)4.每天在编程上至少投入两小时(寒假)5.终极目标:拿到好offer,进华为,奥里给...
2022-01-19 11:41:43
555
原创 C语言学习方法(详细,适合初学者学习食用)
首先,笔者认为学习编程并不仅仅是学好C语言就可以的,但是C语言作为我们刚开始学习到的第一门编程语言,他却是极其重要的。 1972年丹尼斯·里奇在贝尔电话实验室设计开发了C 语言,C语言在其发展的四十多年的时间中,它一直是比较热门的语言之一。像是C++,Java等语言在创造过程中或多或少都借鉴了C语言的语法规则,因此,学好C语言对我们学习编程来说,十分重要。笔者总结了下面几个方法,来帮助诸位更好的学习。1.经常写博客(推荐优快云),听课,看书是一个向大脑输入知识...
2022-01-18 16:06:56
8116
1
原创 类的数据成员
一、数据成员1.举例说明class Cube//立方体类{ long color;//数据成员 double x, y, z, side;//数据成员};2.数据成员可以是基本类型、数组、指针、引用、共用体、枚举类型、void指针、const限定等数据类型。class ADT{ long color;//基本类型 double x, y, z, side;//基本类型 int a[10];//数组 char *s;//指针 char &r;//引用 voi.
2021-11-28 21:52:29
5479
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人