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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

算法及数据结构实验Word文档下载推荐.docx

1、掌握顺序表的定位、插入、删除等操作。二、实验仪器和设备VC6.0三、实验容与过程(含程序清单及流程图)1、必做题(1)编写程序建立一个顺序表,并逐个输出顺序表中所有数据元素的值。编写主函数测试结果。(2)编写顺序表定位操作子函数,在顺序表中查找是否存在数据元素x。如果存在,返回顺序表中和x值相等的第1个数据元素的序号(序号从0开始编号);如果不存在,返回1。(3)在递增有序的顺序表中插入一个新结点x,保持顺序表的有序性。解题思路:首先查找插入的位置,再移位,最后进行插入操作;从第一个元素开始找到第一个大于该新结点值x的元素位置i即为插入位置;然后将从表尾开始依次将元素后移一个位置直至元素i;最

2、后将新结点x插入到i位置。(4)删除顺序表中所有等于X的数据元素。2、选做题(5)已知两个顺序表A和B按元素值递增有序排列,要求写一算法实现将A和B归并成一个按元素值递减有序排列的顺序表(允许表中含有值相同的元素)。程序清单:(1)#include #define maxsize 20typedef int datatype;typedef structdatatype datamaxsize;int last; sequenlist;void CreateList(sequenlist *L,int n)int i;printf(please input n numbersn);for(i=

3、0;idatai); (*L).last=n; void PrintList(sequenlist *L,int n) printf(the sequenlist isn for(i=0;%d ,L-main() int i,x; int n=10; sequenlist L; CreateList(&L,n); PrintList(& getchar();(2)#includex) break; if(il.last ) l.data l.last +1=x; else for(j=l.last;j=i-1;j-) l.dataj+1=l.dataj; l.datai-1=x; l.last

4、+;插入元素后的数据为:n for(j=0;jtypedef struct node int data;struct node *next;*Linklist,Node;Linklist creat(int n) Linklist head,r,p; int x,i; head=(Node*)malloc(sizeof(Node); r=head;输入数字: for(i=n;i0;i-) p=(Node*)malloc(sizeof(Node); p-data=x; r-next=p; r=p;next=NULL; return head;void output(Linklist head)

5、Linklist p; p=head-next; do ,p-data); p=p- while(p);void main() Linklist head; int x,n;输入数字的个数(n): head=creat(n);输出数字: output(head);typedef struct node int data; struct node *next;linklist; int x,y; linklist *h,*s,*r,*p,*q,*m,*n; h=malloc(sizeof(linklist); r=h;请输入一个数组 : while(x!=0) s=malloc(sizeof(l

6、inklist); s-next=s; r=s;请输入插入值:y); p=h- while(p!=NULL) if (p-data)data=y; m=h; while(m-next!=p) m=m- m-next=q; n=h-这个链表是: while(n!,n- n=n- linklist *h,*s,*r,*p,*q,*t;请输入一个数组:=-1)n这个链表是: p=p- q=p- while(q! t=q- p=q; q=t; h-next-n翻转转后的链表是:编写成功后运行时,没有加入$导致程序运行不成功,不能够退出。后注意到这个问题才继续运行下去。在编写程序时,设置了结束字符一定要

7、牢牢记住,并且在输入时观察仔细类型是什么,以及是否是输入一串有顺序的数字,编写成功不难,但是要规格式,不能仅仅以完成程序为目的。而完成这一章的实验也让我了解了,顺序表便于查找不便于插入删除,而链表恰恰相反,链表的插入删除只需要移动指针,而顺序表要从后往前依次移动,二者各有优劣. 堆栈和队列 实验学时:实验3 堆栈和队列(1)掌握应用栈解决问题的方法。(2)掌握利用栈进行表达式求和的算法。(3)掌握队列的存储结构及基本操作实现,并能在相应的应用问题中正确选用它们。(1)判断一个算术表达式中开括号和闭括号是否配对。(2)测试“汉诺塔”问题。(3)假设称正读和反读都相同的字符序列为”回文”,试写一个

8、算法判别读入的一个以为结束符的字符序列是否是“回文”。在顺序存储结构上实现输出受限的双端循环队列的入列和出列算法。设每个元素表示一个待处理的作业,元素值表示作业的预计时间。入队列采取简化的短作业优先原则,若一个新提交的作业的预计执行时间小于队头和队尾作业的平均时间,则插入在队头,否则插入在队尾。typedef char datatype;#define maxsize 64 datatype datamaxsize; int top;seqstack;int match(char exp,int n)char stmaxsize; /设置一个栈,用来存放扫描表达式中的括号 int top=-1

9、,i=0,tag=1; while(i=0) tag=0; /若栈不空,则不配对return tag;int tag,i; char exp7=+,2-4;请输入一个算式表达式:7; expi=getchar(); tag=match(exp,7); if(tag)算式表达式中的开括号和闭括号配对。算式表达式中的开括号和闭括号不配对!void move(char x,char z)printf(%c-,x);%cn,z);void Hanoi(int n,char x, char y,char z) if(n=1) move(x,z); Hanoi(n-1,x,z,y); Hanoi(n-1,

10、y,x,z); int m;请你输入A上面的碟子总数m); Hanoi(m,ABC#define N 100 char dataN;seqstack; char strN; int i=0,n; seqstack a; a.top=0; gets(str); while(stri!=) n=i;n/2; a.top+; a.dataa.top=stri; i=i-1; if(n%2=0) i=i+2;n & a.dataa.top=stri) a.top-; if(i=n) 是回文数组n不是回文数组n123在本章栈和队列中编程,有许多的if语句,编写时一不小心就会少加一个花括号,以致编写不成功

11、。在本章汉诺塔问题中,使用了栈以及函数的递归,这其中的过程一直不是很了解,在经过老师的讲解后,理解了大致过程。递归函数是编程中经常会用到的一种函数,它可以实现许多我们在平时言语和解释上解决不了的问题,我们需要理解并且可以熟练的使用它,这对我们之后的编程会有很大的帮助。而汉诺塔利用栈是一种很经典的递归的算法,这让我们理解栈和递归。 串 实验学时:实验4 串掌握串的存储及应用。(1)编写输出字符串s中值等于字符ch的第一个字符的函数,并用主函数测试结果。(2)编写输出字符串s中值等于字符ch的所有字符的函数,并用主函数测试结果。可以将第一题程序改进成一个子函数,在本题中循环调用。(3)设字符串采用

12、单字符的链式存储结构,编程删除串s从位置i开始长度为k的子串。假设以链结构表示串,编写算法实现将串S插入到串T中某个字符之后,若串T中不存在这个字符,则将串S联接在串T的末尾。提示:为提高程序的通用性,插入位置字符应设计为从键盘输入。void search(char *s,char ch) int i=0,n=0; while (*(s+i) if(*(s+i)=ch)第一个字符:s%d=%cn,i,ch); n+; break; i+;if(!n) No Found! char s20,ch;请输入一个串: gets(s);请输入要找的元素:%cch); search(s,ch); if(*(

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

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