链表在C语言中对于我来说,一直是个头疼的问题,现在已经工作了,这些东西得要搞懂。先从基础开始弄起吧。
链表
单向链表
所谓链表就是每个结点除了值以外附带一个链接的表,一般这个链接指向下一个结点,从而形成了一个有序队列。单向链表是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始。链表是使用指针进行构造的列表,并且是由一个个结点组装起来的,因此又称为结点列表。其中每个结点都有指针成员变量指向链表的下一结点,head指针指向的第一个结点称为表头,而终止于最后一个指向null的指针。
结点的数据结构:
struct Node
{
int data;
struct Node* next;
};
单向链表的基本操作
1、创建一个链表(创建一个表头表示整个链表)
struct Node* createList() {
struct Node* headNode =(struct Node*)malloc (sizeof(struct Node));
//headNode成为了结构体变量
//headNode->data =1;
//变量使用前必须初始化
headNode->next =NULL;
return headNode ;
}
2、创建一个结点
//创建结点
struct Node*