数据结构-期末数据结构实验测试题(含答案)docx(DOC 21页).docx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数据结构-期末数据结构实验测试题(含答案)docx(DOC 21页).docx》由用户(2023DOC)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构期末数据结构实验测试题含答案docxDOC 21页 数据结构 期末 实验 测试 答案 docx DOC 21
- 资源描述:
-
1、1 某顺序表(自己定义、建立),查找某数据元素,找到返回位序,找不到返回02 某顺序表(自己定义、建立),在合法的位置插入某数据元素3 某顺序表(自己定义、建立),在合法的位置删除某数据元素4 某顺序表(自己定义、建立),就地逆置(即不另设置空间)5 用头插法建立单链表,并输出6 用尾插法建立单链表,并输出7 某单链表(自己定义、建立),就地逆置(即不另设置空间)8 某单链表(自己定义、建立),查找某数据元素,找到返回位序,找不到返回09 某单链表(自己定义、建立),求其长度10 某单链表(自己定义、建立),在合法的位置插入某数据元素11 某单链表(自己定义、建立),在合法的位置删除某数据元素
2、12 某单链表(自己定义、建立),在最后位置插入或删除13 某二叉链表(自己定义、建立),输出前序、中序、后序遍历序列14 某二叉链表(自己定义、建立),求其高度(深度)15 某二叉链表(自己定义、建立),求其叶子结点数16 某二叉链表(自己定义、建立),求其总结点个数17 某二叉链表(自己定义、建立),将其左右子树交换方式:抽签,单人单桌,每组8-10人,杜绝作弊!时间:30分钟总分:100分 数据结构C语言描述10分 数据结构建立30分 基本操作30分 主函数20分 运行结果10分用途:20%计入学业成绩1.某顺序表(自己定义、建立),查找某数据元素,找到返回位序,找不到返回0#inclu
3、detypedef struct int elem100; int length;sqlist; void create(sqlist *L,int n) int i;printf(请输入%d个数:n,n);for(i=0;ielemi); L-length=n; void print(sqlist L,int n) int i;printf(顺序表为:);for(i=0;in;i+) printf(-%d,L.elemi);printf(n); int locate(sqlist L,int n) int i,e;printf(请输入需要查找的数:n);scanf(%d,&e);for(i=
4、0;in;i+)if(L.elemi=e) printf(找到该数据:%dn该数据的位置是:%dn,e,i); continue; return 0; main() sqlist l;int m; printf(输入此顺序表总数据的个数:); scanf(%d,&m); create(&l,m); print(l,m);locate(l,m);2. 某顺序表(自己定义、建立),在合法的位置插入某数据元素#includetypedef struct int elem100; int length;sqlist; void create(sqlist *L,int n) int i;printf(
5、请输入%d个数:n,n);for(i=0;ielemi); L-length=n; void print(sqlist L,int n) int i;printf(顺序表为:);for(i=0;in;i+) printf(-%d,L.elemi);printf(n); void insert(sqlist *L,int i,int e) int j; if(iL-length+1) printf(error);for(j=L-length;j=i-1;j-)L-elemj=L-elemj-1;L-elemi-1=e;L-length+; main() sqlist l; int m,e,i;
6、printf(输入此顺序表总数据的个数:); scanf(%d,&m); create(&l,m); print(l,m);printf(请输入需要插入的数据:n);scanf(%d,&e);printf(请输入需要插入数的位置:n);scanf(%d,&i);insert(&l,i,e);print(l,l.length);3. 某顺序表(自己定义、建立),在合法的位置删除某数据元素#includetypedef struct int elem100; int length;sqlist; void create(sqlist *L,int n) int i;printf(请输入%d个数:n
7、,n);for(i=0;ielemi); L-length=n; void print(sqlist L,int n) int i;printf(顺序表为:);for(i=0;in;i+) printf(-%d,L.elemi);printf(n); void del(sqlist *L,int i) int j; if(iL-length+1) printf(error); for(j=i;jlength-1;j+)L-elemj-1=L-elemj;L-length-; main() sqlist l; int m,e; printf(输入此顺序表总数据的个数:); scanf(%d,&m
8、); create(&l,m); print(l,m);printf(请输入需要删除数据位置:n);scanf(%d,&e);del(&l,e);print(l,l.length);4. 某顺序表(自己定义、建立),就地逆置(即不另设置空间)#includetypedef struct int elem100; int length;sqlist; void create(sqlist *L,int n) int i;printf(请输入%d个数:n,n);for(i=0;ielemi); L-length=n; void print(sqlist L,int n) int i;printf(
9、顺序表为:);for(i=0;in;i+) printf(-%d,L.elemi);printf(n); void nizhi(sqlist L,int n) int i,t; for(i=0;in/2;i+) t=L.elemi;L.elemi=L.elemn-i-1;L.elemn-i-1=t; for(i=0;in;i+) printf(-%d,L.elemi);printf(n); main() sqlist l; int m; printf(输入此顺序表总数据的个数:); scanf(%d,&m); create(&l,m); print(l,m);printf(此顺表逆置后为:);
10、 nizhi(l,m);5. 用头插法建立单链表,并输出#includetypedef struct Lnode int data; struct Lnode *next;Lnode,*Linklist;Linklist create(int n)int i; Linklist L; Linklist p; L=new Lnode; L-next=NULL; for(i=0;idata=i; p-next=L-next; L-next=p; return L;void print(Linklist L)Linklist p;p=L-next;while(p)printf(-%d,p-data)
11、;p=p-next;printf(n);void main() int m=6; Lnode *head; head=create(m); print(head);6. 用尾插法建立单链表,并输出#includetypedef struct Lnode int data; struct Lnode *next;Lnode,*Linklist;Linklist create(int n)int i; Linklist L; Linklist p;Linklist r; L=new Lnode; L-next=NULL; r=L; for(i=0;idata=i; r-next=p; r=p; p
12、-next=NULL; return L;void print(Linklist L)Linklist p;p=L-next;while(p)printf(-%d,p-data); p=p-next; printf(n);void main() int m=6; Lnode *head; head=create(m); print(head);7. 某单链表(自己定义、建立),就地逆置(即不另设置空间)#includetypedef struct Lnode int data; struct Lnode *next;Lnode,*Linklist;Linklist create(int n)i
13、nt i; Linklist L; Linklist p;Linklist r; L=new Lnode; L-next=NULL; r=L; for(i=0;idata=i; r-next=p; r=p; p-next=NULL; return L;void print(Linklist L)Linklist p;p=L-next;while(p)printf(-%d,p-data); p=p-next; printf(n);void nizhi(Linklist L) Linklist p,q; p=L; p=p-next; L-next=NULL; while(p) q=p; p=p-n
14、ext; q-next=L-next; L-next=q; void main() int m=6; Lnode *head; head=create(m); print(head); printf(此逆置单链表为); nizhi(head); print(head);8. 某单链表(自己定义、建立),查找某数据元素,找到返回位序,找不到返回0#includetypedef struct Lnode int data; struct Lnode *next;Lnode,*Linklist;Linklist create(int n)int i; Linklist L; Linklist p;L
15、inklist r; L=new Lnode; L-next=NULL; r=L; for(i=0;idata=i; r-next=p; r=p; p-next=NULL; return L;void print(Linklist L)Linklist p;p=L-next;while(p)printf(-%d,p-data); p=p-next; printf(n);int locate(Linklist L) int i=1,e; Linklist p;p=L-next;printf(请输入需要查找第几个的结点:);scanf(%d,&e);while(p)if(i=e)printf(该结
16、点的数据域是:%dn,p-data);elsereturn 0; p=p-next; i+; void main() int m=6; Lnode *head; head=create(m); print(head); locate(head);9. 某单链表(自己定义、建立),求其长度#includetypedef struct Lnode int data; struct Lnode *next;Lnode,*Linklist;Linklist create(int n)int i; Linklist L; Linklist p;Linklist r; L=new Lnode; L-nex
展开阅读全文