欢迎来到天天文库
浏览记录
ID:16294867
大小:2.99 MB
页数:93页
时间:2018-08-09
《数据结构全部上机实验及答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、淮海工学院数据结构实验指导书计算机软件教研室92实验1线性表的抽象数据类型的实现实验目的1)掌握线性表的顺序存储结构和链式存储结构;2)熟练掌握顺序表和链表基本算法的实现;3)掌握利用线性表数据结构解决实际问题的方法和基本技巧;4)按照实验题目要求独立正确地完成实验内容(编写、调试算法程序,提交程序清单及及相关实验数据与运行结果);5)按时提交实验报告。实验环境计算机、C语言程序设计环境实验学时2学时,必做实验。实验内容一、顺序表的基本操作实现实验要求:数据元素类型ElemType取整型int。按照
2、顺序存储结构实现如下算法(各算法边界条件和返回结果适当给出):1)创建任意整数线性表(即线性表的元素值随机在键盘上输入),长度限定在25之内;2)打印(遍历)该线性表(依次打印出表中元素值);3)在线性表中查找第i个元素,并返回其值;4)在线性表中第i个元素之前插入一已知元素;5)在线性表中删除第i个元素;6)求线性表中所有元素值(整数)之和;二、链表(带头结点)基本操作实验要求:数据元素类型ElemType取字符型char。按照动态单循环链表结构实现如下算法(各算法边界条件适当给出):1)创建任意
3、字符型有序(递增排序)单循环链表(即链表的字符元素随机在键盘上输入),长度限定在15之内;2)打印(遍历)该链表(依次打印出表中元素值);3)在链表中查找第i个元素,i合法返回元素值,否则,返回FALSE;4)在链表中查找与一已知字符相同的第一个结点,有则返回TRUE,否则,返回FALSE;5)在链表中按照有序方式插入一已知字符元素;6)在线性表中删除第i个结点;7)计算链表的长度。实验步骤一、顺序表的源程序#include#include#include4、lloc.h>intlist[25];inti,n,a,sum=0,k,l;inteleminsert;/*------------------创建函数--------------*/voidinitlist()92{printf("Pleaseinputthetotaloftheelems:");scanf("%d",&n);if(n>255、6、n<1){printf("ERROE!");return;}printf("Pleaseinputtheelems:...");for(i=0;i7、i++){scanf("%d",&list[i]);}return;}/*------------------打印函数--------------*/voidPrint(intlist[],intn){intj;for(j=0;j8、9、m>n){prin10、tf("ERROR!");return;}elseprintf("Theelemis%dat%dplace",list[m-1],m);return;}/*----------------插入函数------------*/voidInsert(intlist[],intn,intm,intelem){intj;if(m<111、12、m>n){printf("ERROR!");return;}for(j=n-1;j>=m-1;i--){list[j+1]=list[j];}list[m-1]=13、elem;n=n+1;printf("Thenewlistare:");Print(list,n);return;}/*---------------删除函数-----------*/voidDelete(intlist[],intn,intm){intq;intj;if(m<114、15、m>n)92{printf("ERROR!");return;}j=list[m-1];for(q=m-1;q<=n;q++){list[q]=list[q+1];}printf("Thenewlistare:");16、Print(list,n-1);free(j);return;}/*-------------求和函数------------*/voidSum(intlist[],intn,intsum){intj;for(j=0;j
4、lloc.h>intlist[25];inti,n,a,sum=0,k,l;inteleminsert;/*------------------创建函数--------------*/voidinitlist()92{printf("Pleaseinputthetotaloftheelems:");scanf("%d",&n);if(n>25
5、
6、n<1){printf("ERROE!");return;}printf("Pleaseinputtheelems:...");for(i=0;i7、i++){scanf("%d",&list[i]);}return;}/*------------------打印函数--------------*/voidPrint(intlist[],intn){intj;for(j=0;j8、9、m>n){prin10、tf("ERROR!");return;}elseprintf("Theelemis%dat%dplace",list[m-1],m);return;}/*----------------插入函数------------*/voidInsert(intlist[],intn,intm,intelem){intj;if(m<111、12、m>n){printf("ERROR!");return;}for(j=n-1;j>=m-1;i--){list[j+1]=list[j];}list[m-1]=13、elem;n=n+1;printf("Thenewlistare:");Print(list,n);return;}/*---------------删除函数-----------*/voidDelete(intlist[],intn,intm){intq;intj;if(m<114、15、m>n)92{printf("ERROR!");return;}j=list[m-1];for(q=m-1;q<=n;q++){list[q]=list[q+1];}printf("Thenewlistare:");16、Print(list,n-1);free(j);return;}/*-------------求和函数------------*/voidSum(intlist[],intn,intsum){intj;for(j=0;j
7、i++){scanf("%d",&list[i]);}return;}/*------------------打印函数--------------*/voidPrint(intlist[],intn){intj;for(j=0;j8、9、m>n){prin10、tf("ERROR!");return;}elseprintf("Theelemis%dat%dplace",list[m-1],m);return;}/*----------------插入函数------------*/voidInsert(intlist[],intn,intm,intelem){intj;if(m<111、12、m>n){printf("ERROR!");return;}for(j=n-1;j>=m-1;i--){list[j+1]=list[j];}list[m-1]=13、elem;n=n+1;printf("Thenewlistare:");Print(list,n);return;}/*---------------删除函数-----------*/voidDelete(intlist[],intn,intm){intq;intj;if(m<114、15、m>n)92{printf("ERROR!");return;}j=list[m-1];for(q=m-1;q<=n;q++){list[q]=list[q+1];}printf("Thenewlistare:");16、Print(list,n-1);free(j);return;}/*-------------求和函数------------*/voidSum(intlist[],intn,intsum){intj;for(j=0;j
8、
9、m>n){prin
10、tf("ERROR!");return;}elseprintf("Theelemis%dat%dplace",list[m-1],m);return;}/*----------------插入函数------------*/voidInsert(intlist[],intn,intm,intelem){intj;if(m<1
11、
12、m>n){printf("ERROR!");return;}for(j=n-1;j>=m-1;i--){list[j+1]=list[j];}list[m-1]=
13、elem;n=n+1;printf("Thenewlistare:");Print(list,n);return;}/*---------------删除函数-----------*/voidDelete(intlist[],intn,intm){intq;intj;if(m<1
14、
15、m>n)92{printf("ERROR!");return;}j=list[m-1];for(q=m-1;q<=n;q++){list[q]=list[q+1];}printf("Thenewlistare:");
16、Print(list,n-1);free(j);return;}/*-------------求和函数------------*/voidSum(intlist[],intn,intsum){intj;for(j=0;j
此文档下载收益归作者所有