#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("删除失败,您删除的元素不存在\n");
}
traverse_list(pHead);
ins
【数据结构】链表的创建、遍历、排序、插入、删除操作
于 2022-03-17 19:45:08 首次发布
这篇博客详细介绍了如何使用C语言实现非循环单链表的操作,包括创建链表、遍历链表、判断链表是否为空、获取链表长度、排序链表、删除指定位置的元素以及在指定位置插入元素。通过示例代码展示了这些操作的具体实现过程。

最低0.47元/天 解锁文章
1388

被折叠的 条评论
为什么被折叠?



