c语言单链表的基本操作
对于c语言的初学者来说,链表是一块大难点,其中用到结构体,指针的知识,这里讲的是最简单的单链表,链表是一种动态存储方式,和数组相比,链表的优点是方便插入,没有上限的存储(相对来说),缺点也很明显,排序很烦,查找也很麻烦。
首先创建结构体
链表中,每一个节点都是一个结构体元素,一个数据域,一个指针域,靠指针链接在一起
struct node{
int date;
//存放数据
struct node * next;
//存放下一个节点的地址
};
创建一个链表
在创建链表时,有3个重要的位置,头指针,首结点,尾节点。
头指针:是个结构体指针,它指向首节点的地址;
首节点:第一个结构体元素,它的指针域存放第2个节点的地址;
尾节点:最后一个结构体元素,它的指针域存放NULL;
struct node * Creat()
{
struct node *phead,*pnew,*pend;
pnew=pend=(struct node*)malloc(sizeof(struct node));
int n=0;
phead=NULL;
//phead是头指针,先让其指向NULL
scanf("%d",&pnew