【数据结构】链表的创建、遍历、排序、插入、删除操作

这篇博客详细介绍了如何使用C语言实现非循环单链表的操作,包括创建链表、遍历链表、判断链表是否为空、获取链表长度、排序链表、删除指定位置的元素以及在指定位置插入元素。通过示例代码展示了这些操作的具体实现过程。
摘要由CSDN通过智能技术生成
#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(&#
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值