《数据结构》实验指导实验二单链表的存储及操作.docx
《《数据结构》实验指导实验二单链表的存储及操作.docx》由会员分享,可在线阅读,更多相关《《数据结构》实验指导实验二单链表的存储及操作.docx(7页珍藏版)》请在第壹文秘上搜索。
1、数据结构实验指导实验二:单链表的存储及操作一、实验目的1、掌握单链表抽象数据类型的定义。2、掌握单链表的存储实现。3、掌握单链表的操作算法实现。4、了解单链表的应用。二、实验学时2学时三、实验类型验证性实验四、实验需求1、硬件每位学生配备计算机一台;2、软件WindowsXP/Windows7操作系统;开发工具软件:MicrosoftVisualStudio2010。五、实验理论与预备知识1、数据结构的基本概念2、顺序存储结构的特点3、线性表的特点和基本运算4、线性表顺序存储结构下的操作算法六、实验任务1、单链表抽象数据类型的代码实现2、编写应用程序,用相关数据验证运算算:法七、实验内容及步骤
2、1、任务一:有一个单链表对象L,设计一个算法查找最后一个值为X的结点的逻辑序号。并分析算法的时间和空间复杂度。实验步骤:(1)启动VisualShIdio2010,创立窗体应用程序。(2)增加单链表类,代码参考如下:定义单链表结点类存放数据元素指向下一个结点的字段publicclassLinkLisl(publicstringdata;publicLinkListnext;:classLinkLisiciasspubIicLinkListhead=newLinkLiSt();单链表头结点-单链表的基本运算算法PUbIiCvoidCrCatCLiStF(Stringsplit)头插法建立单链表L
3、inkLists;inti;=null;将头结点的next字段置为nullfor(i=0;ih;i+)循环建立数据结点s=newLinkList();s.data=spliti;,创立数据结点Ss.next=;将S结点插入到开始结点之HU,头结点之后publicvoidCrcatcListR(stringsplit)尾插法建立单链表LinkLists,r;inti;r=headj/r始终指向尾结点,开始时指向头结点for(i=();ih;i+)循环建立数据结点s=newLinkList();s.data=splitfi;创立数据结点Sr.next=s;将S结点插入r结点之后r.next=nul
4、l;将尾结点的next字段置为nullpublic stringDisPLiSt() 将单链表所 有结期植的成J个字符 串返 SjnkList p;P=;if (p = null) Str=空串;while (p != null)str += p.data , p =return Sir p next;1public int ListLength()int n = O;LinkList p; p = head;while (p.next != null) (n+;p = p.next;)return (n);p指向开始结点/p不为null,输出P结点的data字段P移向下一个结点求单链表数据结
5、点个数p指向头结点,n置为0(即头结点的序号为0)循环结束,p指向尾结点,其序号n为结点个数publicboolGetElem(inti,refstringe)求单链表中某个数据元素值intj=O;LinkListp;p=head;while(ji&p!=p指向头结点,j置为()(即头结点的序号为0)nW)找第i个结点Pj+;p=p.nexl;if(p=null)returnfalse;不存在第i个数据结点,返回falseelse存在第i个数据结点,返回c=p.data;returntrue;publicintLocateElcm(stringc)按元素值查找inti=1;1.inkListp
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 实验 指导 二单链表 存储 操作