双向链表的基本操作和应用试验报告_第1页
双向链表的基本操作和应用试验报告_第2页
双向链表的基本操作和应用试验报告_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、双向链表的基本操作和应用 一、 实验目的: 1. 掌握双向线性表的逻辑特征 2. 熟练掌握带头结点的双向链式表的指针操作、能完成双向链表的插入、删除、 获取指定位序结点指针、遍历、和复杂应用; 二、 实验内容(双向链式线性表) 1. 熟悉 Visual Studio 6.0,会设置断点,会查看运行过程中的指针情况; 2. 编写双向链表的插入、删除、获取指定位序的结点、遍历函数; 3. 实现将 a1,a2,a3 an的双向链表转变为:a1,a3 a4,a2; 三、 实验结果 #include typedef struct DuLNode char date; struct DuLNode *pr

2、ior; struct DuLNode *next; DuLNode,*DuLinkList; void DuLinkedListInsert_L(DuLinkList &L, int locate, char c) DuLNode* p=new DuLNode; p-date=c; DuLNode* q=L; for(int j=0;jnext; p-next=q-next; q-next-prior=p; p-prior=q; q-next=p; +L-date; / DuLinkedListInsert_L void DuLinkedListDelete_L(DuLinkList

3、 &L, int locate, char &e) DuLNode* q=L; for(int j=0;jnext; e=q-date; q-next-prior=q-prior; q-prior-next=q-next; -L-date; delete q; / DuLinkedListDelete_L void PrintfDuList(DuLinkList L) ( DuLNode*p=L-next; while(p!=L) ( printf(%2c,p-date); p=p-next; printf(n); / PrintfDuList void DuLinkedLis

4、texchangete_L (DuLinkList &L) _ char e; DuLNode* q=L; for(int j=2;jdate+3)/2;j+) DuLinkedListDelete_L(L, j, e); DuLinkedListInsert_L(L, L-date-j+2, e); / DuLinkedListexchangete_L void main() char c,e; int i,j; i=0; DuLNode* A=new DuLNode; A-date=0; A-next=A; A-prior=A; printf(请输入 A单词,以回车结束:); sc

5、anf(%c,&c); while(c!=10) DuLinkedListInsert_L(A, i, c); i+; scanf(%c,&c); printf(表 A 的元素个数为:%dn”,A-date); printf(带头结点的双向循环链表 A的数据刀:n); PrintfDuList(A); DuLinkedListexchangete_L (A); PrintfDuList(A); printf(表 A 的元素个数为:%dn”,A-date); printf(请输入要删除在表中的位置:n); scanf(%d,&j); DuLinkedListDelete_L(A,j,e); printf(被删除的数据为:cn,e); printf(被删除数据后的双向循环链表 A的数据为:n); PrintfDuList(A); printf(被删除数据后的双向循环链表 A的元素个数为:dn,A-date); 四、 实验中遇到的问题及解决方法 遇到的问题:能不能利用修改原表实现数据重排功能。 解决方法:利用直接在原表中删除数据和插入数据实现了数据重排功能, 而且此 操作的空间复杂度为 0(1),新建表再用删除插入函数的操作的空间复杂度为 0 (n)。 五、 心得体会 这次的实验对我来说非常的有难度,通过本次实验,我更加熟练地掌握了双 向线

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论