- 博客(20)
- 收藏
- 关注
原创 最大堆,包扩通过层次来访问堆中的数据
堆是一个完全二叉树,这意味着除了最后一层外,其他各层都被完全填充,并且最后一层的所有节点都尽可能地靠左排列。这种结构有利于内存的紧凑存储以及高效的遍历操作。利用队列来储存保存并输出这些堆中的数据。
2024-04-10 21:03:01
148
1
原创 数据结构<队列>
队列的显著特点是只能从一端进入,一端出去,他也是一种特殊的顺序表或者链表(Queue)由于上述特点,所以队列需要在定义结构体时,加上队头和队尾的索引,(有许多不同的写法,我这里讲的是还加了一个当前队列元素的写法,再判断队中是否为满的时候,可以节省一个队列空间,但同时,多定义了一个变量,也消耗了空间)所以我的结构体是这样定义的接下来就在实际代码中进行讲解。
2024-03-26 23:17:17
161
原创 C语言的栈帧
(表示栈顶元素的角标有两种方式,第一种是top赋值为-1(就是将top指向当前所在的位置),后续每次操作就是先将++top,)(第二种方式是top为0,这样每次指向的就是栈顶元素后一个位置,在改变栈顶位置时就需要先使用就++)首先需要的是定义一个结构体,结构体中需要包含的有,一个存储栈中元素的数组,一个表示栈顶元素的数字(也就是栈顶的角标).数据结构的栈帧是数据结构的重要一部分,分为两种,一种是利用顺序表,一种是利用链式储存,3.入栈操作: 首先要对栈是否为满,再进行接下来的操作,这是利用顺序表写出来。
2024-03-20 23:24:53
277
1
原创 今日分享:柔性数组
柔性数组是c99中引入的一个特性,允许结构体中包含一个大小未知的数组作为最后一个成员。柔性数组的特点:1.允许结构体中包含一个大小未知的数组作为最后一个成员。(定义时 int arr[];这样就可以了)2.结构体中的柔性数组成员前面必须至少有一个其他类型的成员。3.sizeof操作符返回的结构体大小不包括柔性数组的内存。(因为在结构体的定义中,[]中没有数字,也就是为空,没有分配空间,计算时也自然不被包含)
2024-01-07 20:35:32
456
1
原创 今日分享:用自己的代码实现内存函数(memmove)
当我们使用memcpy的时候,我们对一个数组进行操作,就会发现数据会出错(根据编译器的不同,有的memcpy可能可以实现memmove的功能),我们仔细去分析过程后会发现,我们需要的数据在拷贝的过程中已经先被修改了,所以我们需要分拷贝的顺序(由前往后,由后往前),再根据数据在内存中储存的顺序,当dest<src时,我们需要从前往后拷贝,当dest>src时,需要从后往前拷贝。1.首先我们建立一个数组,arr1 .并且对它进行初始化int arr1[] = { 1,2,3,4,5,6,7,8,9,10 };
2023-12-23 19:18:14
400
1
原创 今日分享:大小端字节序的排序
超过一个字节的 数据在内存中储存的时候,就有固定的储存顺序,按照不同的储存顺序,就分为大端字节序存储和小端字节序存储。
2023-12-11 14:00:04
426
1
原创 今日分享: qsort 函数和少量冒泡排序
在我们编写程序时,总会有各种排序的问题,今天我想分享的就是一个关于快速排序的库函数-->qsort。
2023-12-11 11:57:09
1967
1
原创 每日分享:将多个元素个数不同的数组通过指针数组组合为一个数组
在学习指针数组时,学到了用指针数组将几个元素个数相同的数组变为一个多维的数组,于是我就想举一反三将多个含有不同元素个数的数组组合成一个大的数组。
2023-12-06 19:24:33
446
1
原创 每日分享:有多少小于当前数字的数字
给你一个数组nums,对于其中每个元素nums[i],请你统计数组中比它小的所有数字的数目。换而言之,对于每个nums[i]你必须计算出有效的j的数量,其中j满足j!= i。以数组形式返回答案。对于 nums[0]=8 存在四个比它小的数字:(1,2,2 和 3)。对于 nums[1]=1 不存在比它小的数字。对于 nums[2]=2 存在一个比它小的数字:(1)。对于 nums[3]=2 存在一个比它小的数字:(1)。对于 nums[4]=3 存在三个比它小的数字:(1,2 和 2)。
2023-12-05 16:26:27
413
1
原创 每日分享:数组元素和数字的绝对值之差
数组 nums 为 [0, 2, 4, 6, 8],其中 (0 ^ 2 ^ 4 ^ 6 ^ 8) = 8。数组 nums 为 [3, 5, 7, 9],其中 (3 ^ 5 ^ 7 ^ 9) = 8."^" 为按位异或 XOR 运算符。(下标从 0 开始)且。中所有元素按位异或(
2023-12-03 19:43:46
531
1
原创 猜数字游戏
小A 和 小B 在玩猜数字。小B 每次从 1, 2, 3 中随机选择一个,小A 每次也从 1, 2, 3 中选择一个猜。他们一共进行三次这个游戏,请返回 小A 猜对了几次?数组为 小A 每次的猜测,数组为 小B 每次的选择。小A 只猜对了第二次。小A 每次都猜对了。
2023-12-01 14:17:24
851
1
原创 计算数组中元素的最大值及其所在的行列下标值
2.因为要找到最大值,并求出他的行和列,所以我们再另一个max为最后所求的结果,并重新定义一个行row和列col。3.还是利用for循环嵌套,从row=0开始,使用if进行判断,利用水杯原理,求得最大的max。1.首先要输入一个二维数组,利用for循环嵌套,外层为行,内层为列进行输入。列的二维数组,然后计算数组中元素的最大值及其所在的行列下标值。题目描述:按如下函数原型编程从键盘输入一个。的值由用户键盘输入。下面输入数组中元素。
2023-11-23 14:59:16
1526
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人