


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、设计人员相关信息1. 设计者、学号和班号:12地信晓婧2. 设计日期:2014.3. 上机环境:VC+6.0、程序设计相关信息1.实验题目:编写一个程序,实现单链表的各种基本运算(假设单链表的元素类型为 char),并在此基础上设计一个程序,完成如下功能:(1)初始化单链表;(2)米用尾插法依次插入兀素a,b,c,d,e;(3)输出单链表(4)输出单链表长度(5)判断单链表是否为空(6)输出单链表第3个元素(7)输出元素a的位置(8)在第4个元素位置上插入元素f(9)输出单链表(10)删除第三个元素(11)输出单链表(释放单链表2.实验项目组成:(1)插入和删除节点操作(2)建立单链表尾插法建
2、表(3)线性表基本运算在单链表中的实现初始化线性表销毁线性表判断线性表是否为空表求线性表的长度3.实验项目的程序结构(程序中的函数调用关系图)Main1Lin kListJIn itListiCreateListRDispListListLe ngthLi stEmptyGetElemLocateElemListI nsert.ListDelete丿DestroyListJ4. 实验项目包含的各个文件中的函数的功能描述:尾插法建表CreateListR :将新节点插到当前链表的表尾上,为此必须增加一个尾指针 r,使其始终指向当前链表的尾节点。初始化线性表InitList:该运算建立一个空的单链
3、表,即创建一个头节点;销毁线性表DestroyList :释放单链表占用的存空间,即逐一释放全部节点的空间; 判断线性表是否为空表ListEmpty :若单链表没有数据节点,贝U返回真,否则返回假; 求线性表的长度ListLength :返回单链表中数据节点的个数;输出线性表DispList :逐一扫描单链表的每个数据节点,并显示各节点的data域值; 求线性表中某个数据元素值 GetElem:在单链表中从头开始找到第i个节点,若存在第 i个数据节点,则将其data域值赋给变量e;按元素值查找LocateElem :在单链表中从头开始找第一个值域与e相等的节点,若存在这样的节点,则返回逻辑序号
4、,否则返回0;插入数据元素ListInsert :先在单链表中找到第i-1个节点*p,若存在这样的节点, 将值为e的节点*s插入到*p节点的后面;删除数据元素ListDelete :先在单链表中找到第i-1个节点*p,若存在这样的节点, 且也存在后继节点*q ;删除*q节点,返回TRUE否则返回FALSE表示参数i错误。5. 算法描述或流程图:vincluae <stdio.n> (include <stdlib.h>tjipcdEf struct LhtodlcClcnType dJtJ; struct LHeide "next;l i nkLit;uuir
5、l CredteLi5tR(linkl it ,Flp(ijType j , int n 尼拒专LiiilcLi<£t;ini i;鸚鵜开砂冋头节点for(i=O;L<n;i+jL (L in kt 1 E* ) ii Jil I u l ( h I />ij f ( L Ink Li St);"创建斗节点 “话环聲立数i- ?npMt-nuLL:"匡节自域置勺初LLuni(I Dr stroll inklist ) /唯按I inkl i st "prfl . «p-pipF >npxi-; "p广哎&
6、;有5胸百卩畔右戌 uh i lp(p?=HULL单儷玄LPrE*B(pr e);“样欣叩“书点PreP;P同歩時楞一吓节点|j-prt*>hext ;f n?«(prw);"冊吓结車时:卩为HULL, P"指冋尾节点,释戎它void inltListtLinikList *&L) &衩姑化1V"创建头节点,其n刪诚董为MILLL=( L in k L is t* | nal L o c ( sizccIFC Link List); L->npxt-HULL;int ListLnpty(LirMList*LV»判断足
7、否为空町 rpfiirnfl >nFxt NHI I ):int I istLengthCl ink! i5t«l17底专init n-B;LhikLibL -p-L-"PfS向头节点* *置戈J11 (即头节点的序号为町uhl Iv(f->nfltL *-HUI L )n*+:p-p-Jiwxt.;ritbrnriQ:"側卯结束.耐旨冋見节滾,耳序号"为节康于数uald ui5pLlst(LlnKLi5t«Lj/»i±ij 门兴 v<LlnkLlat-L >nmt;"I*宜可开炬工貞wbi
8、ie(pt'WLL)"|J不Yinull.输出棹节点:前Oat遍prutf Pp>tlata);p-p-?rex;"p轿向U-會节戌>prlirtfrvB1*);lnt GstEUnCLLnBLlft f 1 Elcmiypo 馳)八求姑卜元李值*flnt j-B:LinkLlst *p=L;"Pj*姿头节虐j宣为且咲节点的序号为叮utdle(j<iMp*-t*LL» "It那 2书点p-p=ln*xt;Iifp=HULL"不存在笫i亍救据节点!返目return R;else-"存?F策匸个穀锯节点
9、,伍回1<e-p->oatd;rvt ut ii 1;lnt LcicjteEi?n(LlnkList *LElenTpe(lnt 1-1:LSfcLbi:时更开姬塾 事期3里开塑节煤的序号为门whll«(pf-HULLM* >datat-e)"登我d砒值为便前關*算序号为i<p-p-nxt;1";>if tpHIM lj和其朴枉元素值为囱¥咸.退叵WKeLurii( 0);"弯在元素恒为的节直,适旦其逻幢宇弓return(1);>lnt ListlnsertfLinkLlct «CJ-tlnt i
10、TElenTp« 屯元囊唧<lnt J"t;L1-4, .E-l _i H_11 -.1 “丄 :丑h 1 ;l r 丄 n-11" = n'Lj-iikLi*»t *p-L ; whi 丄jmzp 卜HULL);鑽諮料門心号和J*+; p-p'>neni;if(pWJLLJ r etui n I als»; rise"找到弟I 1 L节貞叽描入倉节白并返0t'£-( LinM. is tfi)liallK ( El 7*0F(LillCLiE C);5->data-e;s-3npx
11、t-p->next;p->npnt*5; return true:eint I i5tDpl?tpl Inkl i5t*M rl nt i Flppijipp 恤"丑F*哉枣亍素町hit”;whilstj<i-1C&pf-HULL) <J";p=p->nPMt;>if(pKJLL>return;elSF( q-p->n&«t;lF(tt一-HULL)ii vtUR ii f d lhvj-q -dal-a; p->nfMt-q->nrxt; Free(qi):return trus1;黠魁
12、护p节孑加 卩头节"的序号粉围打呃養示辰功捌除笫L牛节点血 n n1n( j(LlnkLiat"不辽甲奈'LEr h5=<Jh1 f击Jp片"定罠数组h 亡tiar e;inrt l.j;tnltListCLi:"初姫化卑 fl!衣 L和呛1| 毎单撫表 LDi$pLi5t(L);"祠卜单卅魚litLpnqth<LJ;"芝禎衣长衰i-liSttmptp(LJ:"判断单撻裹是吾対空表cm * $ i尸# *J-P h4= 土 Tf «亠* y 严斗 1 "- f * f .- '
13、J EL.->-| f |£L: a迟 y /D -1=节if(i-=0)puint珂”该哇夷L空Vft");eluhint#牯 庚为空W”昇 f-fipfrFlen(l"端出申链君報素pFzlntF隼二牛兀爭为土 cn'.ej: j=LocateElen(Lf 1 /強生化喜豹止宣 punt I的元素a为宙靭,元董辿“.DLlstlnnrtCL.(f * klspUEtuIiatBalvtvfl,3rt);oipi. lstd; CvstruyListf L>M賞入元耒厚J第轩吧匿"刑空第沪卜兀素"榨罟单備慈L6.实验数据
14、和实验结果:z *T;83X2-2'aDGbu2_2.eze*陽性表非空當三个元索为元素&为第丄个元素mihcf debfdePress any k&y to continucs7.出现的问题及解决方法:问题1:void DestroyListC LinkLlst *ftL) <vLinkLlst *preL,*p=£>next; while(p*=HULL)<free(pre);pre=p;p=pr?->next;flguriitnn:- vlr uebug-tDinpilingi.«B2-cppc;%lucurwnts j
15、iid st11ing-.Xddnju15trdtorEcppt; warningkoc«l-p* "和n uriitioot hjiting hwa inlt? ?obf 一 fl errrCs), B tt<irntnqCs)i解决方法:void DestrouListdinkLlst 4L) “稍毁对(LinkList *pre=L,*p=pE£j>next; uhilc(p?=NULL)<rree<pre;pre=p;|j-pri?->iiifxt;卜ft ee(pr);问题2:*0ocuaeTi±2 andVB32-2Pabia(X2H24 o>臺”.979899180181 常単槎赛:G 亢素R为弟丄兀耒WJHVytMUlWHlMl 979«102100101PrtssL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 长春金融高等专科学校单招职业技能测试参考试题(附答案)
- 《GBT 40407-2021硅酸盐水泥熟料矿相X射线衍射分析方法》全新解读
- 二零二四年份7月半包合同书石膏板隔墙工艺标准
- 电话客服个人年终工作总结
- 上海仓库租赁合同
- 2025示范公寓房屋抵押借款合同
- 规范合同签订中条款约束内容
- 农业商品购销合同标准文本
- 2025新款信用合作社贷款合同模板
- 个人饰品销售合同范例
- 2024至2030年中国植保无人机行业深度调研及投资前景预测报告(上下卷)
- 高中二年级下学期英语《选择性必修一第三单元语法》教学设计
- 部编版二年级下册语文1-8单元基础过关训练
- 《直播运营实务》 课件 5.3直播间场景搭建
- 华为产品战略规划全景训战两份资料
- 二手车交易定金合同范本5篇
- 《乌鲁木齐市国土空间总体规划(2021-2035年)》
- AQ/T 2076-2020 页岩气钻井井控安全技术规范(正式版)
- Python数据可视化 课件 第5、6章 Matplotlib绘图高阶设置、Matplotlib库其他绘图函数
- 15MW源网荷储一体化项目可行性研究报告写作模板-备案审批
- 经营异常授权委托书范本
评论
0/150
提交评论