![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言链表
文章平均质量分 71
qq_36813267
这个作者很懒,什么都没留下…
展开
-
链表【9-1-3】 链表与数组的比较
静态数组优点是查询和修改方便,增加和删除难些,缺点在于第一处理不了大的数据,第二不能越界访问,也就是一旦固定了就没有办法变长,第三删除和增加非常麻烦。动态数组,函数realloc会重新分配内存,可以处理大数据,每次增加一个人,需要重新分配内存,移动数据,每次删除一个人,需要移动很多数据,非常浪费计算机资源,数组的局限性,我们就需要用到链表,链表就不需要realloc这样的机制,就不用每次重新分转载 2016-12-15 20:59:36 · 237 阅读 · 0 评论 -
链表【9-1-2】链表销毁
如果p1->pNext等于0,就可以判定循环终止//就是我们用完链表来,就要把链表释放掉,思路:从p2节点后循环删除掉,最后删除p1这个节点//接下来实现链表的清空,void freeall(ST *head)删除链表所有节点void freeall(ST *head)//传递一个指针 ST *head,{ST *p1, *p2;//首先定义俩个节点p1,p2p1 = p2转载 2016-12-15 19:31:20 · 251 阅读 · 0 评论 -
【9-1-1】静态链表和动态链表
#include#include#define N 10 //定义一个常量N 值为10;#define DD struct dangdang//用指向结构体的指针作为函数参数//1:用结构体变量的成员作为参数是用什么样的方式来传递//2:值传递,新建一个变量接受实际参数的值//结构体变量//包含一个地址指向下一个指针动态链表:链表需要存储下一个转载 2016-12-15 21:01:12 · 207 阅读 · 0 评论 -
【9-1-4】指针与结构体补充
C语言什么都能少,链表不能少转载 2016-12-27 23:29:44 · 183 阅读 · 0 评论 -
【9-1-5】简单链表,链式存储
链表有单链表,双链表,环链表转载 2016-12-28 09:46:14 · 306 阅读 · 0 评论 -
【9-1-6】链表的插入
链表实现增删查改 排序 反转#include#include//实现链表的动作,第一步:插入,先要定义插入,第二步:初始化,第三步,打印所有链表结点//一般在头文件存在声明struct LinkNode//LinkNode 结点{int data;struct LinkNode *pNext;//要创建一个指针指向自己};//把struct LinkNo转载 2016-12-28 15:55:07 · 172 阅读 · 0 评论 -
【9-1-7】链表的冒泡 bubblesort
链表冒泡和数组冒泡的对比//数组可以随机访问任何一个元素//链表找到N个元素,必须先遍历N-1个元素,链表比数组多比较一次数组的冒泡是每两个数比大,大的沉底,每冒泡一次,就有一个数沉底,然后循环链表里面最简答的排序方法是冒泡一:举例:从大往小排序,如果是从小往大排序,可以把大于号改成小于号void bubblesort(node*phead){for (node转载 2017-01-08 22:05:28 · 331 阅读 · 0 评论 -
【9-1-8】数组与链表的快速排序法
一:显示数组的快速排序法//数组作为一个参数会退化成一指针,void show(int *p,int length)//length是带下标的{printf("\n");for (int i = 0; i {printf("%3d",p[i]);//p[i]等价于*(p+i)}}//接下来实现它的快速排序void qsort(int *p,int转载 2017-01-09 18:52:04 · 316 阅读 · 0 评论