微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

【数据结构】双链表的演示

双链表 实现增加删除修改功能

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

typedef struct Data
{
	Data *prior;    // 前驱指针
	Data *next;     // 后继指针
	int elem;       // 数据元素
}DoubleLinked,*PDoubleLinked;

void disDoubleLinked(PDoubleLinked L);
void InsertDoubleLinked(PDoubleLinked L,int index,int elem);
void DeleteDoubleLinked(PDoubleLinked L,int index);
void ModifyDoubleLinked(PDoubleLinked L,int elem);

void main()
{
	PDoubleLinked L,P,Q;
	int size = 0;

	/**先初始化在使用*/
	L = (PDoubleLinked)malloc(sizeof(DoubleLinked));

	// 两种策略 
	// 一  用到的时候再申请
	// 二  先申请 一大段 不够的时候再申请
	P = L;
	L->prior = NULL;

	printf("请输入双链表的大小:");
	scanf("%d",&size);

	while (size-- != 0)
	{
		P->next = (PDoubleLinked)malloc(sizeof(DoubleLinked));
		Q = P;
		P = P->next;
		P->prior = Q;
		P->next = NULL;
		P->elem = size*2+1;
	}
	// 显示双链表
	disDoubleLinked(L);
	// 增
	InsertDoubleLinked(L,2,23);
	printf("\n");
	disDoubleLinked(L);
	printf("\n");
	// 删
	DeleteDoubleLinked(L,3);
	disDoubleLinked(L);
	printf("\n");
	// 改
	ModifyDoubleLinked(L,3,521);
	disDoubleLinked(L);
	printf("\n");
}


void disDoubleLinked(PDoubleLinked L)
{
	PDoubleLinked P = L->next;

	while (P != NULL)
	{
		printf("%d\t",P->elem);
		P = P->next;
	}
}

void InsertDoubleLinked(PDoubleLinked L,int elem)
{
	PDoubleLinked P = L;
	PDoubleLinked T;
	PDoubleLinked Q = (PDoubleLinked)malloc(sizeof(DoubleLinked));
	Q->elem = elem;

	while (--index != 0)
	{
		P = P->next;
	}
	T = P->next;

	Q->prior = P;
	Q->next = T;

	P->next = Q;
	Q->next = T;
}

void DeleteDoubleLinked(PDoubleLinked L,int index)
{
	PDoubleLinked P = L;
	PDoubleLinked Q;

	while (--index != 0)
	{
		P = P->next;
	}

	Q = P->next;
	P->next = Q->next;
	Q->next->prior = P;
	free(Q);
}

void ModifyDoubleLinked(PDoubleLinked L,int elem)
{
	PDoubleLinked P = L;

	while (index-- != 0)
	{
		P = P->next;
	}

	P->elem = elem;
}

原文地址:https://www.jb51.cc/datastructure/383111.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐