ImageVerifierCode 换一换
格式:DOCX , 页数:33 ,大小:260.07KB ,
资源ID:13264059      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/13264059.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构上机实验报告Word文档下载推荐.docx)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构上机实验报告Word文档下载推荐.docx

1、建立单链表.h输出单链表.h单链表逆置.hvoid main() linklist*head; creat(head); print(head); invert(head);/调用单链表逆置的函数/单链表结构类型定义.htypedef char datatype;typedef struct node datatype data; struct node *next;linklist;/建立单链表.hvoid creat(linklist*&head)/采用尾插法建立具有结点的单链表 char ch; linklist *s,*r; head=new linklist; r=head; whi

2、le(ch=getchar()!=*) s=new linklist; s-data=ch; r-next=s; r=s; r-next=NULL;/输出单链表.hvoid print(linklist *head) linklist*p=head-next; while(p!=NULL) coutdata cout q=p- while(q! r=q- q-next=p; p=q; q=r; head-next-单链表结果截图见下方实验结果。顺序表代码:/顺序表逆置主文件.cpp顺序表结构类型定义.h建立顺序表.h输出顺序表.h顺序表逆置.h sequenlist*L; creat(L);

3、print(L); invert(L);/调用顺序表逆值的函数/顺序表的结构类型定义.hconst int maxsize=1024;typedef struct datatype datamaxsize; int last;sequenlist;/建立顺序表.hvoid creat(sequenlist*&L) L=new sequenlist; L-last=0; L-dataL-last=ch;last+;/输出顺序表.hvoid print(sequenlist*L) for(int i=0;ilast;i+)datailast-1; while(idatai;datai=L-data

4、j; dataj=mid; i+;j-;顺序表实验截图见下方实验结果。2 已知由不具有头结点的单链表表示的线性表中,含有三类字符的数据元素(字母、数字和其他字符),试编写算法构造三个以循环链表表示的线性表,使每个表中只含有同一类的字符,且利用原表中的结点空间,头结点可另辟空间。习题2)/分解单链表主程序文件.cpp输出循环链表.h在循环链表中插入.h分解单链表.h linklist *head,*letter,*digit,*other; print1(head); letter=new linklist; letter-next=letter; digit=new linklist; dig

5、it-next=digit; other=new linklist; other-next=other; resolve(head,letter,digit,other);/调用分解单链表的函数 print2(letter); print2(digit); print2(other);/单链表结构类型定义 datatype data;/建立单链表 datatype x; cinx; while(x!$ s=new linklist; s-data=x; r=s;void print1(linklist*head)/输出单链表 linklist *p=head- coutvoid print2(

6、linklist*head)/输出循环链表=head)/在循环链表中插入.hvoid insert(linklist*h,linklist*p) linklist *q=h; while(q-next!=h) q=q- q- p-next=h;/分解单链表.hvoid resolve(linklist* head,linklist* letter,linklist* digit,linklist* other) linklist* p = head-next,*t;next =NULL; while (p! t = p; if (t-data 0 & t-data az) | (t-AZ) i

7、nsert(letter,t); else insert(other,t); return;截图见下方实验结果。3、实验结果四、个人思路 顺序表做逆置操作时将对应的首尾元素位置交换,单链表的指针end指向链表的末尾,指针start指向链表头结点,指针s用来找到指向end节点的节点,将指向链表末尾和头结点的存储内容交换,然后头结点指针指向下一节点,s指针从start节点开始遍历寻找指向end指针的节点,并将end指针赋值为s指针,就完成了单链表的逆置,可以看出单链表和顺序表都可以完成线性表的逆置。分解单链表的实现思路是首先新建3个循环链表,然后顺序遍历单链表,ASCII码判断链表中的元素属于哪一

8、类元素,然后将这个元素添加到对应的循环链表中,从而实现分解单链表的功能。实验二 栈和队列1 熟悉栈和队列的顺序和链式存储结构2 掌握栈和队列的基本运算3 能够利用栈和队列的基本运算完成栈和队列应用的运算1 假设以数组sequm存放循环队列的元素,同时设变量rear和quelen分别指示循环队列中队尾元素的位置和内含元素的个数。编写实现该循环队列的入队和出队操作的算法。提示:队空的条件:sq-quelen=0;队满的条件:quelen=m。习题3)/循环队列入队出队的主程序文件.cppstdlib.h循环队列的结构类型定义.h置空队.h入队.h出队.h qu *sq;datatype x, *p;int key;sq=new qu;setnull(sq);do coutkey;switch(key) case 1:Enter the Data: enqueue(sq,x); break; case 2: p=dequeue(sq); if(p!=NULL) cout*pquelen=0)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1