首页 >> 知识 >> C语言

C语言

链表详解 链表是一种常见的数据结构,结构体指针在这里得到了充分利用。也就是用结构体来实现链表。

链表可以动态的进行存储分配,可以在节点中定义多种数据类型,可以随意的增添、删除、插入节点。

链表有一个头指针,用head表示,存放的为一个地址。链表的节点分为头结点和一般节点,头结点没有数据域。链表中每个节点一般都分为两部分,一个数据域,一个指针域。

1、创建链表

typedef struct student{ int store; struct student *next;//指向下一个学生 }linklist;//注意分号

一般创建链表用typedef struct,因为这样定义结构体变量时,就可以直接可以用LinkList *a来定义结构体类型变量了。

typedef为这个新的结构起了一个名字,叫做LinkList

2、初始化链表,n为链表节点个数

linklist *creat(int n){ linklist *head,*node,*end;//定义头结点,普通节点,尾节点 head=(linklist*)malloc(sizeof(linklist));//分配地址 end=head; //若是空链表,则头尾节点一样 for(int i=0;iscore); end->next=node; end=node; } end->next=NULL;//结束创建 return head; }

3、插入节点 插入节点:把前一个结点的指针域

网站地图