博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
双向链表实现队列的 入队、出队、查找元素
阅读量:4224 次
发布时间:2019-05-26

本文共 1825 字,大约阅读时间需要 6 分钟。

typedef int DItemType;typedef struct SDoubleList{	DItemType iValue;	SDoubleList *prev;	SDoubleList *next;} DLinkedList,*pDLinkedList;/* 创建双链表 */DLinkedList *InitDoubleList(){	DLinkedList *doublelist = (DLinkedList*)malloc(sizeof(DLinkedList));	if (NULL == doublelist)		exit(1);	doublelist->prev = NULL;	doublelist->next = NULL;	return doublelist;}/* 双链表实现队列入队 */bool DLinkedList_Push(DLinkedList* DL, DItemType value){	if (NULL==DL)	{		puts("队列不存在,无法插入!\n");		return false;	}	DLinkedList *temp = (DLinkedList *)malloc(sizeof(DLinkedList));	if (NULL == temp) {		puts("插入失败!");		return false;	}	temp->iValue = value;	temp->next = NULL;	temp->prev = NULL;	DLinkedList *ttemp = DL;	while (NULL != ttemp->next)	{		ttemp = ttemp->next;	}	ttemp->next = temp;	temp->prev = ttemp;	return true;}/* 双链表实现队列出队 */bool DLinkedList_Pop(DLinkedList *DL){	if (NULL==DL || NULL==DL->next) {		puts("队列为空,无法出队!");		return false;	}	DLinkedList *temp = DL->next;	DL->next = temp->next;	if (NULL==temp->next) {		free(temp);		return true;	}	temp->next->prev = DL;	free(temp);	return true;}/* 遍历队列 */void VisitDLinkedList(DLinkedList *DL){	if (NULL==DL || NULL == DL->next) {		puts("队列为空!");		return;	}	DLinkedList *temp = DL->next;	while (NULL !=temp)	{		printf("%d ", temp->iValue);		temp = temp->next;	}	printf("\n");}/* 查找某一元素 */bool findItem(DLinkedList *DL, DItemType value){	if (NULL==DL || NULL==DL->next) {		puts("队列为空,查找失败!");		return false;	}	DLinkedList *temp = DL->next;	while (temp)	{		if (value==temp->iValue)			return true;		temp = temp->next;	}	return false;}void main(){	DLinkedList *DL;	DL = InitDoubleList();	DLinkedList_Push(DL, 10);	DLinkedList_Push(DL, 20);	DLinkedList_Push(DL, 30);	VisitDLinkedList(DL);	DLinkedList_Pop(DL);	DLinkedList_Pop(DL);	VisitDLinkedList(DL);	if (findItem(DL,30))		puts("查找成功!");	else puts("查找失败!");}

转载地址:http://fdkqi.baihongyu.com/

你可能感兴趣的文章
清华大学矣晓沅:“九歌”——基于深度学习的中国古典诗歌自动生成系统
查看>>
AlphaGo首席研究员亲授!10张PPT介绍10大强化学习黄金法则!
查看>>
假期专属论文清单:把国庆长假安排得明明白白!
查看>>
清华男女图鉴 | 有电车会拍照,我在清华还是找不到女朋友
查看>>
68页PPT教你撰写一篇优秀的机器学习研究论文!
查看>>
THE世界大学排名发布:牛津大学蝉联榜首,清华大学亚洲第一
查看>>
独家 | 一文读懂数据质量和验证检查(附代码)
查看>>
独家 | 零售业中的惊涛骇浪——人工智能、机器学习和大数据
查看>>
独家 | 精选近期机器学习GitHub项目及Reddit热门话题(附链接)
查看>>
3行代码,Python数据预处理提速6倍!(附链接)
查看>>
独家|盘点5个TensorFlow和机器学习课程,程序员福利(附资源)
查看>>
54页PPT揭示AI革命及其前沿进展!
查看>>
福利 | 放送AI华人库试用名额!专项代码找到领域专家
查看>>
干货 | “青年AI自强计划项目”首节讲座视频、课件分享
查看>>
一文盘点三大顶级Python库(附代码)
查看>>
独家 | 2种数据科学编程中的思维模式,了解一下(附代码)
查看>>
赠票 | 相约乌镇!世界互联网大会大数据与AI赋能实体经济论坛
查看>>
悉尼大学陶大程:遗传对抗生成网络有效解决GAN两大痛点
查看>>
21个令程序员泪流满面的瞬间
查看>>
推荐 | 最有趣的机器学习可视化图集
查看>>