单链表的基本操作及回文判断

单链表的基本操作及回文判断

ID:14716389

大小:166.00 KB

页数:8页

时间:2018-07-30

单链表的基本操作及回文判断_第1页
单链表的基本操作及回文判断_第2页
单链表的基本操作及回文判断_第3页
单链表的基本操作及回文判断_第4页
单链表的基本操作及回文判断_第5页
资源描述:

《单链表的基本操作及回文判断》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、201007092406-java104-吴文文实验一单链表的基本操作一.要求:(1)依次从键盘读入数据,建立带头结点的单链表;(2)输出单链表中的数据元素(3)求单链表的长度;(4)根据指定条件能够取元素和修改元素;(5)实现在指定位置插入和删除元素的功能。二:算法设计:(1)用到的结构:逻辑结构(循环结构,条件结构,顺序结构)存储结构(线性单链表)(2)算法设计思路:首先利用尾插发创建一个单链表statuscreatelist(LinkList&L)然后通过voidprint(LinkListL)方法输出,通过intListLength(LinkListL)

2、方法得到链表的长度,通过charGetElem(LinkListL,inti)方法,当第i个元素存在时,其值赋给e并返回,然后通过statusListInsert(LinkList&L,inti,ElemTypee)在头结点单链线性表L中第i个位置之前插入元素e,最后通过statusListDelete(LinkList&L,inti)删除L中第i个元素,并用e返回其值。三:调试和测试:(1)调试过程总结:这些是对但链表的基本操作,算是对单链表的总结。C++不同于java,需要定义如OK,false等。还有有的包没有正确的引入。(2)三组测试数据及实验结果:第一

3、组:测试ascxzbn第8页201007092406-java104-吴文文第二组:测试dbcmgkfko第三组:测试oehfdklsdjsk实验二回文判断一实验要求:(1)数据从键盘读入;(2)输出要判断的字符串;(3)利用栈的基本操作对给定的字符串判断其是否是回文,若是则输出“Yes”,否则输出“No”。二:算法设计:(1)用到的结构:逻辑结构(循环结构,条件结构,顺序结构)存储结构(链式栈)(2)算法设计思路:先创建一个栈的大小为100,然后用voidInitStack(SeqStack*S)方法初始化一个空栈,紧接着用intEmptyStack(SeqS

4、tack*S)还有intFullStack(SeqStack*S)分别判断栈是空还是满。如果栈空则没有测试的必要,如果栈满则没办法往里面输入。紧接着voidPush(SeqStack*S,charx)入栈,出栈charPop(SeqStack*S),先将一般的字母入栈,然后进行遍历,每弹出一个字符就进行相应字符的比较。如果相等则返回1不相等返回0.三:调试和测试:(1)调试过程总结第8页201007092406-java104-吴文文:自己对这个算法不太熟悉,然后主要是从网上查看,还有问一些学习C++的人还有询问同学。一开始只考虑栈空的问题,没有考虑栈满的问题。

5、在测试的时候输入的太多,以至于有的没有输入进去,同时把栈的空间定义的大些,也是为了防止栈满。(2)三组测试数据及实验结果:第一组:adsas第二组:abba第8页201007092406-java104-吴文文实验总结:第一次做实验的时候什么也没有准备,看到实验题目的时候一头雾水,只知道是对链表还有栈的应用,不知道从哪里下手。我们学的是数据结构(C语言版),C语言是大一上学期学的,现在我们已经是大二下学期了,一年没学,发现什么都不记得了。就抱着数据结构课本在那里看,老师说这些算法没一个能运行出来的,自己也不记得main()函数怎么写了。连helloworld也写

6、不出来了。于是那一节就那么过去了。课下的时候就上网搜了一下,还看了下C语言课本,最后在同学的帮助下,第一个程序写完了。有了这一次的经验,在第二次上机之前就提前把实验看了下,自己也写了个大概,等上机的时候就主要是调试了。同样遇到问题的时候,还是同学帮忙解决了。在调试的时候还是需要耐心,有的时候就那么一个错误,可是怎么也找不到,于是就放下不想写了,不过作业始终要完成的,就硬着头皮在哪里找。通过这两次实验,我知道了,在学习新知识的时候还要把原来的知识捡起来。不能捡了西瓜就丢了芝麻。这本书也是考研专用的。现在还不确定自己是否要考研,不管怎样,都要学好。第8页201007

7、092406-java104-吴文文附录:源程序实验一源代码:#defineOK1#defineERROR0#include#includetypedefcharElemType;typedefintstatus;typedefstructLNode{ElemTypedata;LNode*next;}LNode,*LinkList;statuscreatelist(LinkList&L){//尾插法创建单链表charch;L=newLNode;L->next=NULL;cin>>ch;LinkListr=L;while(

8、ch!='#'){Lin

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。