【C语言】带头结点双链表-基本操作

本文介绍如何使用C语言创建和操作带头结点的双链表。虽然代码可能较为初级,但旨在帮助读者理解双链表的基本概念和操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include<stdio.h>
#include<stdlib.h>

typedef struct DNode
{
   
   
	int data;
	struct DNode *next,*last;	//双链表每个节点带有指向下一个节点和上一个节点的指针
}DNode;

DNode *Create();
DNode *Insert_Tail(DNode *D);
void View_AllData(DNode *D);
void View_OneData(DNode *D);
void Delete_OneData(DNode *D);	//按位删除
void valueLocation(DNode *D);	//按值删除
void Insert_Data_QianCha(DNode *D);		//前插法
void Insert_Data_HouCha(DNode *D);	//后插法
int location();

int main()
{
   
   
	DNode *D = Create();	//创建双链表头结点
	D = Insert_Tail(D);	//尾插法插入数据
	View_AllData(D);	//遍历所有数据
	View_OneData(D);	//按位指定查找
	valueLocation(D);	//按值查找
	Delete_OneData(D);	//按位指定删除
	View_AllData(D);
	Insert_Data_QianCha(D);		//前插法向列表中插入数据
	Insert_Data_HouCha(D);		//后插法向列表插入数据
	View_AllData(D);
	return 0;
}

//创建结点
DNode *Create()
{
   
   
	DNode *D = (DNode*)malloc(sizeof(DNode));	//动态申请内存
	if(D == NULL)	//判断是否成功
		printf("申请结点失败!\n"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值