12.11C语言(链表)
存在目的
解决数组的原有缺陷
数组的三大缺陷
1、定义时需要预留长度,耗费内存。
2、必须占有连续的内存空间,若内存没有相应的预留,程序无法运行。
3、数组的插入和删除等功能要动用到大量的数组元素,运行效率低。
概念
以结点为基本构成单位分散存储数据
结点的构成:数组部分和指针部分——
数组域——存放待处理的数据;
指针域——存放下一个数据的地址。(个人理解为一串“超链接”所链接的不连续的元素)
一般以头指针head存放链表第一个结点的地址。head也可以被定义为一个链表的入口。
应用举例
struct Node//结点的结构体类型定义
{
int data;//结点的数据部分
struct