单链表的基本操作主要有;①创建链表;②输出链表;③査我结点;④插入结点,⑤鹏除结点;⑥重组链表。下面分别进行介绍。
一.创建链表
创建链表是指在程序运行时,进行动态内存分配,创建若千个结点,并把这些结点连接成串,形成一个链表。在进行动态内存分配时,需要使用在(2)介绍的内存管理函数malloc()和 free()。
(1)创建链表的步骤如下:
(1)定义链表的数据结构,创建一个空的头指针。
(2)使用malloc()函数为新结点分配内存空间。
(3)将数据读入到新结点的数据域,并将该结点的指针域置为NULL。
(4)若头指针为空,则使头指针指向该新结点;若头指针为非空,则将新结点连接到链表
中;可以连接到链首或连接到链尾。
(5)判断是否有后续结点,若有,则转向(2).否则,链表创建结束。
(2)尾插法
例 接收从键盘输入的一行字符,每接收一个字符后,申请一个新结点保存该字符,每次产生的新结点连接到链尾。
struct link
{
char ch;
siruct link *next;
}
//由于每次产生的新结点总是连接到链尾,则需要一个尾指针p2来指示链尾,头指针b指向链首。创建一个新结点p1时,若头指针为空,说明此时链表是空的,则应该使头指针指向新创建的第一个结点,即“h=p1”;若头指针非空,则新结点应该连接到链尾,即“p2->next=p1”。然后修改尾指针,使其指向链尾,即“p2=p1”。
//创建单链表的函数structlink*create()代码如下:
struct link * create()
{
char ch;
struct link *pl, *p2,*h=NULL;
while((ch= getchar( ))!='\n'){
pl=(struet
标签:结点,链尾,创建,链表,基本操作,连接,指针
From: https://blog.csdn.net/2302_80782671/article/details/142416592