#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
typedef struct Node //定义一个结构体数据类型
{
int data; //数据域
struct Node * pNext; //指针域
}Nod, *pNod;
pNod create_list(void); //函数声明
void traverse_list(pNod pHead); //函数声明
bool is_empty(pNod pHead);
int length_list(pNod pHead);
void sort_list(pNod pHead);
bool delete_list(pNod pHead, int pos, int * val);
bool insert_list(pNod pHead, int pos, int val);
int main(void)
{
pNod pHead = NULL; //首先定义一个空的头指针
int val; //定义一个变量接收链表的值
pHead = create_list(); //创建一个非循环单链表creat_list(),将该链表头指针的地址赋给pHead
traverse_list(pHead); //对创建的链表进行遍历,需要接收头指针这个变量
if (is_empty(pHead))
printf("链表为空\n");
else
printf("链表不空\n");
int len = length_list(pHead);
printf("链表的长度为:%d\n", len);
sort_list(pHead);
traverse_list(pHead);
if(delete_list(pHead, 3, &val))
{
printf("删除成功,删除的元素是:%d\n", val);
}
else
{
printf(&#
【数据结构】链表的创建、遍历、排序、插入、删除操作
于 2022-03-17 19:45:08 首次发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)