文档介绍:数据结构课程设计_双向链表
2
———————————————————————————————— 作者:
———————————————————————————————— 日期:
个人收集 仅供参考学****勿做商业用途
?数据构造?课程设计
实验报告
题 目 双向链表
学 院
专 业 计算机科学与技术
班 级
学 号
学生姓名
指导教师
编写日期 2010-7-16
目录
13
个人收集 仅供参考学****勿做商业用途
问题分析……………………………………………….3
…………………………………………………..3
…………………………………………………..3
数据构造描述………………………………………….3
算法设计……………………………………………….4
:双向链表的建立………………………………..4
:双向链表的查找…………………………………4
:双向链表的插入………………………………..5
:双向链表的删除………………………………..5
程序清单………………………………………………6
程序运行结果…………………………………………10
总结……………………………………………………11
【根本要求】:建立双向链表,并进展插入,查找,删除等操作。
4
个人收集 仅供参考学****勿做商业用途
【分析过程】:先通过创立函数建立双向链表,由文本文件提供数据。可以调用查找函数,查找与e值一样的结点是否存在;也可以通过插入函数,在第i个结点前插入值为e的结点,并且调节指针的变化;也可以调用删除函数,删除第i个结点,调节好指针,最后通过保存函数保存数据到文本文件中。
#include<iostream>
#include<>
using namespace std;
typedef struct dulnode{
int data;
struct dulnode *prior;
struct dulnode *next;
}dulnode,*dulinklist;
算法1:创立双向链表
status create_dul(dulinklist &l) /*利用尾插法建立头带头结点的双向链表 */
5
个人收集 仅供参考学****勿做商业用途
{
l=(dulinklist)malloc(sizeof(dulnode)); /* 生成头结点 */
l->prior=NULL;
l->next=NULL; /* 头结点的指针域初始值为空 */
l->data=-1;