资源简介
双向聊表的实现细节以及菜单显示,对数据结构的同学很有帮助,有注释!大学必备源码,可直接运行,c程序设计加数据结构

代码片段和文件信息
/**********************************双向链表************************
* 双向链表 *
* 完成日期:2016.9.10 *
* 编译环境:VC6.0 *
* 说明:初始化时只能输入0-9只有插入时可输入int整数 *
******************************************************************/
#define _CRT_SECURE_NO_DEPRECATE
#include
#include
#include
#include
//输出菜单menu函数
void printmenu()
{
printf(“\n1.建立双向链表(初始化)\n2.打印双向链表\n3.逆序打印双向链表\n“);
printf(“4.求链表的长度\n5.判断链表是否为空\n6.清空链表\n“);
printf(“7.插入元素\n8.删除元素\n9.删除链表\n0.退出\n“);
}
//定义结点结构,双向链表结点
typedef struct DuLnode
{
int data;
struct DuLnode *prior; //前驱指针
struct DuLnode *next; //后继指针
}DuLnode*DulinkList;
//初始化双向链表
void InitDlist(DulinkList &L)
{
int x; //定义成char型是用于输入‘q‘时可以退出,其实定义成int也能退出
DulinkList p q;
L = (DulinkList)malloc(sizeof(DuLnode));
L->next = NULL;
L->prior = NULL;
p = L;
printf(“输入双向链表的元素,每输入一个后按回车,输入0表示结束.\n“);
fflush(stdin);
scanf(“%d“&x);
while (x!=0 )
{
q = (DulinkList)malloc(sizeof(DuLnode));
q->data = x ; //数字字符的ASCLL码减去48得到该数字
q->next =NULL ;
q->prior = p;
p->next = q;
p = q;
fflush(stdin);
scanf(“%d“ &x);
}
if (x ==0) printf(“双向链表构建完毕!\n“);
}
//输出链表函数
void printDList(DulinkList &L)
{
DulinkList p;
if (L == NULL)
{
printf(“链表不存在,请先初始化!\n“);
}
else if(L->next == NULL)
{
p = L->next; //避免p为野指针,赋值为NULL
printf(“链表中没有结点,空!\n“);
}
else
{
p = L->next;
while (p)
{
printf(“%d “ p->data);
p = p->next;
}
}
}
//逆序打印双向链表
void printDListFromLast(DulinkList &L)
{
DulinkList p;
if (L == NULL)
{
printf(“链表不存在,请先初始化!\n“);
}
else if (L->next == NULL)
{
p = L->next;
printf(“链表中没有结点,空!\n“);
}
else
{
p = L->next;
while (p->next)
{
p = p->next;
}
while (p->prior)
{
printf(“%d “ p->data);
p = p->prior;
}
}
}
//求链表长度函数
int LenghtDList(DulinkList L)
{
int n=0;
DulinkList p;
if (L == NULL)
{
printf(“链表不存在,请先建立!\n“);
}
else
{
p = L->next;
while (p)
{
n++;
p = p->next;
}
}
return n;
}
void EmptyDuList(DulinkList L)
{
if (L == NULL)
{
printf(“链表不存在,请先初始化!\n“);
}
else if (L->next == NULL)
{
printf(“链表为空!\n“);
}
else
{
printf(“链表不为空!\n“);
}
}
//把双向链表清空
void ClearDuList(DulinkList &L)
{
if (L == NULL)
{
printf(“链表不存在,请先初始化!\n“);
}
else if (L->next == NULL)
{
printf(“链表本身为空!\n“);
}
else
{
DulinkList p q;
p = q = L->next; //p、q指向第一个元素
L->next = NULL;
while (p) //逐渐释放元素所占内存
{
p = p->next;
free(q);
q = p;
}
}
}
void DelDList(DulinkList &L)
{
ClearDuList(L);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-09-12 17:01 双向链表\
目录 0 2016-09-12 16:42 双向链表\Debug\
文件 60416 2016-09-12 16:42 双向链表\Debug\vc120.idb
文件 86016 2016-09-12 16:42 双向链表\Debug\vc120.pdb
文件 36352 2016-09-12 16:42 双向链表\Debug\双向链表.exe
文件 255976 2016-09-12 16:42 双向链表\Debug\双向链表.ilk
文件 1635 2016-09-12 16:42 双向链表\Debug\双向链表.log
文件 26767 2016-09-12 16:42 双向链表\Debug\双向链表.obj
文件 502784 2016-09-12 16:42 双向链表\Debug\双向链表.pdb
目录 0 2016-09-12 16:42 双向链表\Debug\双向链表.tlog\
文件 4284 2016-09-12 16:42 双向链表\Debug\双向链表.tlog\CL.read.1.tlog
文件 1048 2016-09-12 16:42 双向链表\Debug\双向链表.tlog\CL.write.1.tlog
文件 1410 2016-09-12 16:42 双向链表\Debug\双向链表.tlog\cl.command.1.tlog
文件 1308 2016-09-12 16:42 双向链表\Debug\双向链表.tlog\li
文件 2482 2016-09-12 16:42 双向链表\Debug\双向链表.tlog\li
文件 612 2016-09-12 16:42 双向链表\Debug\双向链表.tlog\li
文件 201 2016-09-12 16:42 双向链表\Debug\双向链表.tlog\双向链表.lastbuildstate
文件 6448 2016-09-12 16:42 双向链表\双向链表.cpp
文件 2621440 2016-09-12 17:01 双向链表\双向链表.sdf
文件 969 2016-09-10 18:34 双向链表\双向链表.sln
文件 23040 2016-09-12 17:01 双向链表\双向链表.v12.suo
文件 4097 2016-09-12 16:41 双向链表\双向链表.vcxproj
文件 953 2016-09-12 16:41 双向链表\双向链表.vcxproj.filters
相关资源
- 数据结构年终考题范围和答案 耿国华
- 数据结构 朱战力 习题解答 数据结构
- 数据结构课程设计 6 1 彩票系统
- 教学计划编制系统
- 大数(链表、数组)实现
- 自己写的航空订票系统c 版--数据结构
- 数据结构实验魔王语言
- 航空订票系统_数据结构课程设计
- 多项式求和(数据结构C 版)
- 尚观培训linux董亮老师关于数据结构的
- 数据结构 知识点总结
- 华南理工大学数据结构复习提纲二
- 华南理工大学数据结构复习提纲一
- 数据结构用C 写的停车场系统源代码
- 数据结构(河北科技大学)
- 数据结构考前习题 清华大学出版社
- 数据结构课件(北邮)
- 数据结构实验 基于栈的表达式求值
- 数据结构课程设计——图书管理系统
- 成绩管理系统(数据结构)
- 数据结构-最小通信网问题
- 数据结构课程设计同学通讯录系统
- 数据结构课程设计 公园导游图
- 数据结构殷人昆版的课后答案
- 2006年湖北工业大学409数据结构试题
- 数据结构实验-魔王语言-源码加实验报
- 简单计算器的实现(数据结构)
- 简单计算器的实现(数据结构 修正版
- Fundamentals of Data Structure in C
- 北京邮电大学数据结构历年考研真题
评论
共有 条评论