数据结构课程设计之双向链表操作.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
东华理工大学数据结构课程设计实验报告 计算机信息管理专业 PAGE PAGE 1 《数据结构》课程设计实验报告 之双向链表的相关操作 专 业 : 计算机信息管理 姓 名 : 陶鹏鹏 学 号 : 201140130241 教 师 : 吴志强 时间:2013.1.4 目录 问题分析…………………………………………….….1 1.1基本要求…………………………………………………...1 1.2分析过程…………………………………………………...1 数据结构描述…………………………………………..1 算法设计………………………………………………..2 3.1算法1:双向链表的建立………………………………...2 3.2算法2:双向链表的查找……………………………….…2 3.3算法3:双向链表的插入………………………………...3 3.4算法4:双向链表的删除………………………………...3 程序具体步骤…………………………………..……4 程序运行结果………………………………………...10 总结……………………………………………….…..10 PAGE 1 PAGE 1 1.问题分析 1.1【基本要求】:建立双向链表,并进行插入,查找,删除等操作。 1.2【分析过程】:先通过创建函数建立双向链表,由文本文件提供数据。可以调用查找函数,查找与e值相同的结点是否存在;也可以通过插入函数,在第i个结点前插入值为e的结点,并且调节指针的变化;也可以调用删除函数,删除第i个结点,调节好指针,最后通过保存函数保留数据到文本文件中。 2.数据结构描述 #includeiostream #includestdio.h using namespace std; typedef struct dulnode{ int data; struct dulnode *prior; struct dulnode *next; }dulnode,*dulinklist; 3.算法设计 3.1算法1:创建双向链表 status create_dul(dulinklist l) /*利用尾插法建立头带头结点的双向链表 */ { l=(dulinklist)malloc(sizeof(dulnode)); /* 生成头结点 */ l-prior=NULL; l-next=NULL; /* 头结点的指针域初始值为空 */ l-data=-1; q=l; /* 尾指针初始指向头结点 */ FILE* fp; /* 定义文件指针的形式 */ if((fp=fopen(F:\\test1.txt,r+))==NULL); /* 打开文本文件 */ { printf(cannot open file!\n); exit(0); } int n; fscanf(fp,%d,n); for(i=0;in;i++); { p = (dulinklist)malloc(sizeof(dulnode)); fscanf(fp,%d,p-data); /* 在文件读取结点的数据 */ p-next=NULL; /* 新结点指针域为空 */ p-prior=q; q-next=p; /* 尾结点指针域指向新结点 */ q=p; /* q指针后移,始终指向尾指针 */ } fclose(fp); /* 关闭文本文件 */ 3.2算法2:双向链表的查找 stadus locateelem_dul(dulinklist l,ele

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档