这两天在复习C语言的知识,为了给下个阶段学习OC做准备,以下的代码的编译运行环境是Xcode5.0版本,写篇博文把昨天复习的C语言有关链表的知识给大家分享一下,以下是小菜自己总结的内容,代码也是按照自己的思路所编写的,有不足之处还请大牛们批评指教。
确切的说链表属于数据结构中线性表中的内容,在链表中存储的内容是按线性排列的,就像是一条线把所要存的数据串起来,可以把链表类比成一串珠子,数据就是一个个的珠子,数据间的next指针就相当于穿珠子的线。
链表操作的时间复杂度: 往链表中插入数据的时间复杂度为O(1)。
想真正的理解链表及在C语言中的表示方法的前提是理解C语言中的指针和结构体,闲话少说,进代码才是关键,代码中基本上都有注释
1.用结构体定义链表的节点
1 //定义链表中的节点
2 typedef struct node{
3 //存储数据
4 int data;
5 //指向下一个节点
6 struct node *next;
7 }Node;
2.定义链表的整体结构,存放链表的节点和链表中的信息
//定义链表结构
typedef struct {
//存放头节点
Node *head;
//记录节点的个数
int count;
}List;
3.链表的初始化,给链表分配头结点,节点个数初始化为0
/************************************************
*功能&