双向链表的基本操作和应用.doc_第1页
双向链表的基本操作和应用.doc_第2页
双向链表的基本操作和应用.doc_第3页
双向链表的基本操作和应用.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

实验二 双向链表的基本操作和应用一、实验目的:1.掌握双向线性表的逻辑特征2.熟练掌握带头结点的双向链式表的指针操作、能完成双向链表的插入、删除、获取指定位序结点指针、遍历、和复杂应用;二、实验内容(双向链式线性表)1.熟悉Visual Studio 6.0,会设置断点,会查看运行过程中的指针情况;2.编写双向链表的插入、删除、获取指定位序的结点、遍历函数;3.实现将a1,a2,a3an的双向链表转变为:a1,a3a4,a2;三、实验结果#include typedef struct DulNodeint data; struct DulNode*Prior,*Next;DulNode,*LinkDulNode;int InsertDulNode(LinkDulNode head, int location, int data)LinkDulNode p=head; for(int i=0;iNext=head) break; elsep=p-Next;if(locationdata=data; s-Next=p-Next; s-Prior=p; p-Next-Prior=s; p-Next=s; +head-data;void PrintDulNode(LinkDulNode head) LinkDulNode p; p=head-Next; while(p!=head) printf(%d,p-data); p=p-Next; LinkDulNode GetDulNode(LinkDulNode head,int i)LinkDulNode p; for(int j=0;jNext;head=p;return p;void DeleteDulNode(LinkDulNode head, int data) LinkDulNode p; p=head-Next; for(int i=0;iNext; p-Prior-Next=p-Next; p-Next-Prior=p-Prior; -head-data;void Change(LinkDulNode h1, LinkDulNode h2) int i=0; LinkDulNode p,q; p=h1-Next; while(p!=h1) q=GetDulNode(h1,i); InsertDulNode(h2, i, q-data); DeleteDulNode(h1, i); p=p-Next; i+; int j=h1-data-1; p=h1-Prior; while( p!=h1) q=GetDulNode(h1,j); InsertDulNode(h2, i, q-data); DeleteDulNode(h1, j); i+; j-; p=p-Prior; void main()LinkDulNode h1; h1=new DulNode;h1-data=0; h1-Next=h1;h1-Prior=h1; InsertDulNode(h1, 0, 9); InsertDulNode(h1, 0, 8); InsertDulNode(h1, 0, 7); InsertDulNode(h1, 0, 6);InsertDulNode(h1, 0, 5);InsertDulNode(h1, 0, 4);InsertDulNode(h1, 0, 3);InsertDulNode(h1, 0, 2);InsertDulNode(h1, 0, 1);PrintDulNode(h1);printf(n);LinkDulNode h2;h2=new DulNode;h2-data=0;h2-Next=h2; h2-Prior=h2; Change(h1, h2);PrintDulNode(h2);printf(n);四、实验中遇到的问题及解决方法1遇到的问题:用函数求的表长度过于繁琐,是否可在双向循环链表中储存链表长度信息。解决方法:方法1.定义表结构定义时多定义int length 类型,这使得所有的节点中的p-length均为表长度,造成资源浪费;方法2.在头节点L-date中储存链表长度,在插入函数中加入+L-date操作,删除函数中加入-L-date操作。2.遇到的问题:编写程序过程中忽略大小写。解决方:输写时仔细些,完成后认真检查。五、心得体会 在这次实验中已就遇到了一些

温馨提示

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

评论

0/150

提交评论