- 博客(36)
- 收藏
- 关注
原创 数据结构——顺序表
是的的。...逻辑上线性结构,也就说是连续的⼀条直线。但是在, 线性表在物理上存储时,通常以的形式存储。顺序表还会封装对数据元素的将顺序表里的不是覆盖原先数据,插入数据的结果造成部分数据后移返回下标。
2024-07-11 15:49:26 1139 6
原创 C++:从C语言过渡到C++
命名空间需要用一个关键字namespace后跟命名空间的名字,然后用{}括起来,在里面可以定义变量、函数、自定义类型,即为命名空间的成员。给一个存在变量取别名引用变量与原变量共用一块内存空间。语法形式:类型& 引用的别名 = 引用对象这里a、b、c、d都是共用一块内存空间的。
2024-07-11 15:47:21 2712 5
原创 C语言|Leetcode 141、142 .环形链表 I II
对于这道题,我们使用快慢指针法。定义两个指针,一快一慢,初始位置在head。,说明链表存在环,否则就不存在,返回NULL。这一题与上面的题类似,但难度比上一题稍大。,否则快指针到达链表末尾,不存在环。下面为leetcode官方给出的证明。所以快指针必定先于慢指针进入环,最关键的还是在于证明了,从。我们还是使用快慢指针,时间复杂度:O(N)空间复杂度:O(1)时间复杂度:O(N)空间复杂度:O(1)
2024-05-10 16:19:27 337
原创 C语言|Leetcode 138.随机链表的复制
该题要求我们对一个随机链表进行拷贝,其实对一个链表进行拷贝并不难,但是该随机链表节点random指向的随机节点难以复制,这也是这题的主要难点。2.接下来我们按照原链表random的指向。3.将复制链表与原链表分离。,这是该题最为重要的一步。1.我们首先要做就是。时间复杂度 O(N)空间复杂度 O(N)
2024-05-05 16:36:44 392
原创 C语言——文件操作
(字符一律以以ASCII形式存储,,数值型数据既可以用ASCII形式存储,也可以使用⼆进制形式存储。我们常见的操作就是从键盘输入数据,然后输出到屏幕上,但我们并没有主动打开。数据可以从外部设备输入,也可输出到外部设备,而不同的外部设备的输入输出操作各不一样。,不然的话,由于程序的数据是在内存中的,当程序退出后数据就会被回收。无论我们做什么,都得先打开文件,结束后就要关闭文件。(文件名,文件状态,文件位置等),这个结构体被放在。文件,我们平时在磁盘看到的就是文件。总的来说,这两个函数可以让我们的。
2024-04-21 21:37:50 1046 1
原创 C语言——结构体
int j;}s1;//声明类型的同时定义变量s1//初始化s1struct Stu//名字int age;//年龄//初始化//一般来说,初始化是有顺序的,但是也可以指定顺序来给变量初始化//.age是访问结构体成员中的agestruct S1int i;int j;}s1;//声明类型的同时定义变量s1struct S2int num;//结构体嵌套初始化上面这三种方式是比较常见的结构体变量的定义和初始化。
2024-04-21 21:37:33 1143 2
原创 C语言——整数和浮点数在内存中存储
如果E为11位,它的取值范围为0~2047。,以32位浮点数为例子,留给M只有23位,将第⼀位的1舍去以后,等于可以保存24位有效数字。,-127~128.存储的时候加上127,这样刚好是0~255,便于存储,不必判断符号位。,最⾼的1位存储符号位S,接着的11位存储指数E,剩下的52位存储有效数字M。比如保存1.05的时候,只保存05,等到读取的时候,再把第⼀位的1加上去。这样做的原因:真实的E为-126,那么这个数已经是非常非常小的,E全为1,即11111111,转换为十进制就是255,那。
2024-03-31 23:03:18 989 1
原创 C语言——指针(2)
我们看到,*(p1 + i)与arr[i]这两种方式打印数组的效果是完全一样的,而又因为p1 == arr,所以可以推断出,而实际上,数组元素的访问在编译器处理的时候,确实是转换成⾸元素的地址+偏移 量求出元素的地址,然后解引⽤来访问的。既然数组名是首元素地址,那么我们在数组传参的时候,传过去的参数本质上应该是个指针。,这个指针指向一个数组,数组元素个数是5个,每个元素的类型是int,所以,尽管&arr与arr的值是相等的,但是他们还是有很大区别的。除去上面的特殊情况,其他地方使用数组名,都是首元素地址。
2024-03-23 18:01:06 420
原创 C语言——指针(1)
在计算机中,数据都是存放在内存中的,不同的数据类型所占用的内存空间并不相同。内存的单位是字节,1个字节就是1个内存单元,每个内存单元对应着一个独一无二的。原因就是,test()函数返回的是函数内部临时创建变量n的地址,而当test()函数被调用完之后,其占用的。*pa = 0 :*pa 的意思就是通过pa中存放的地址,找到指向的空间,也就是变量a。,它是C语言定义的标识符常量,其值为0,地址0是无法使用的,强行使用编译器会报错。但是p指针接收了n的地址,其指向的空间已经被释放了,所以p指针就成了野指针。
2024-03-14 19:45:10 857 1
原创 C语言中的分支与循环语句
从所周知,C语言是一种结构化的程序设计语言,其中的结构包括我们可以通过分支语句和循环语句来实现选择结构与循环结构。:if语句、switch语句:while语句、do...while语句、for语句。
2023-12-09 00:13:58 976
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人