
c
文章平均质量分 74
吉米的编程日记
1
展开
-
数据结构-排序专题(选择、插入、希尔、冒泡、堆、快速、归并、计数)
3,(选最右边的数是key)left先走,在走的过程中,如果遇到比key大的数,就停下来,right再走,right遇到比key小的数就停下来,然后交换left和right的值,交换后两个指针继续走,直到left和right相遇。3,(选最右边的数是key)cur遇到比key大的停下,prev++,然后交换prev和cur的值,然后cur继续走,直到cur走到倒数第二个数,循环停止,prev++,交换prev和key。1,选出一个key,一般是最左边或者最右边,此时key的位置就形成了一个坑。原创 2022-09-03 10:59:32 · 346 阅读 · 1 评论 -
数据结构-C语言实现堆(超长超详细)
堆(Heap)是计算机科学中一类特殊的数据结构,是最高效的优先级队列。堆通常是一个可以被看做一棵完全二叉树的数组对象。原创 2022-08-20 11:17:15 · 1605 阅读 · 1 评论 -
数据结构-C语言实现队列进队、出队等基本操作(内含图解)
插入:先开辟新的结点,把数据放进去,并且让新的结点的next指向null,再让原来的tail指向新的结点。删除:先定义一个指针,指向原来的head的next,再删除head,然后更新head,让新的head指向刚刚定义的指针。注意:每次删除都要判断队列是否为空每次调用函数的时候都要断言传进来的结构体不为空。...原创 2022-08-16 13:57:59 · 7222 阅读 · 1 评论 -
数据结构-c语言实现带头循环双链表增、删、查、改等基本操作(超长超详细)
链表的结构体中存储了两个指针,一个指向前驱节点,另一个指向后继节点。插入或者删除的时候一定要记得断言,否则可能会出现错误,但是找不到哪里出错。双链表是在顺序表的基础上更新的一种存储结构,他的优点是:在任意位置插入效率高,并且按需申请空间,不会造成空间浪费。...原创 2022-08-13 21:15:06 · 558 阅读 · 0 评论 -
数据结构—C语言实现顺序表(头插、尾插、头删、尾删)
初始化函数命名:SeqListInit解释一下为什么叫这个名字:Seq->顺序,List->表,Init->初始化。这些字母都是对应的单词的首字母,方便看懂。初始化就是给一个顺序表赋值,只不过是赋值为0。这就好像你定义一个变量随手就写出(int a=0;)一样。顺序表的本质是一个结构体,里面有多个不同的成员,这些成员分别是:a->一个数组(你也可以理解为一个指针),size->记录顺序表里有多少个元素,也叫计数,capacit->顺序表有多大空间。...原创 2022-08-07 23:28:41 · 2589 阅读 · 2 评论 -
C语言实现二分法查找某个数字(超详细)
二分法,顾名思义,就是把数组分成两部分,每次都分成两部分,这样一下子就能缩小一半的范围。让我猜多少钱,那我肯定会先猜10元,然后你说猜低了,那我就会再猜15元,这时你又说猜高了,那我就会猜12元,然后再问几次,这时就可以猜出饮料的价格了。在一个有序数组中,查找某一个数字,如果能找到,则输出它的下标,如果找不到,输出该数字不存在。在图里可以发现,范围是一半的在缩小,二分法也是这样的原理。粉色的数字⭕️1,代表第一次猜的价格,粉色的数字⭕️2,代表第二次猜的价格,粉色的数字⭕️3,代表第三次猜的价格,...原创 2022-07-17 21:55:42 · 3485 阅读 · 1 评论