欢迎来到天天文库
浏览记录
ID:59409253
大小:113.00 KB
页数:12页
时间:2020-05-26
《线性表的抽象数据类型的实现.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、淮海工学院计算机工程学院实验报告书课程名:数据结构题目:线性表的抽象数据类型的实现班级:D软件101学号:姓名:丁冬梅评语:成绩:指导教师:批阅时间:2011年月日1实验题目或内容实验题目:一、顺序表的基本操作实现实验二、链表(带头结点)基本操作实验实验内容:一、按照顺序存储结构实现如下算法(各算法边界条件和返回结果适当给出):1)创建任意整数线性表(即线性表的元素值随机在键盘上输入),长度限定在25之内;2)打印(遍历)该线性表(依次打印出表中元素值);3)在线性表中查找第i个元素,并返回其值;4)在线
2、性表中第i个元素之前插入一已知元素;5)在线性表中删除第i个元素;6)求线性表中所有元素值(整数)之和;二、按照动态单循环链表结构实现如下算法(各算法边界条件适当给出):1)创建任意字符型有序(递增排序)单循环链表(即链表的字符元素随机在键盘上输入),长度限定在15之内;2)打印(遍历)该链表(依次打印出表中元素值);3)在链表中查找第i个元素,i合法返回元素值,否则,返回FALSE;4)在链表中查找与一已知字符相同的第一个结点,有则返回TRUE,否则,返回FALSE;5)在链表中按照有序方式插入一已知字
3、符元素;6)在线性表中删除第i个结点;7)计算链表的长度。2目的与要求实验目的:1)掌握线性表的顺序存储结构和链式存储结构;2)熟练掌握顺序表和链表基本算法的实现;3)掌握利用线性表数据结构解决实际问题的方法和基本技巧;4)按照实验题目要求独立正确地完成实验内容(编写、调试算法程序,提交程序清单及及相关实验数据与运行结果);5)按时提交实验报告。实验要求:一、要求:数据元素类型ElemType取整型int。按照顺序存储结构实现如下算法(各算法边界条件和返回结果适当给出):1)创建任意整数线性表(即线性表的
4、元素值随机在键盘上输入),长度限定在25之内;2)打印(遍历)该线性表(依次打印出表中元素值);3)在线性表中查找第i个元素,并返回其值;4)在线性表中第i个元素之前插入一已知元素;5)在线性表中删除第i个元素;6)求线性表中所有元素值(整数)之和;二、要求:数据元素类型ElemType取字符型char。按照动态单循环链表结构实现如下算法(各算法边界条件适当给出):1)创建任意字符型有序(递增排序)单循环链表(即链表的字符元素随机在键盘上输入),长度限定在15之内;2)打印(遍历)该链表(依次打印出表中元
5、素值);3)在链表中查找第i个元素,i合法返回元素值,否则,返回FALSE;4)在链表中查找与一已知字符相同的第一个结点,有则返回TRUE,否则,返回FALSE;5)在链表中按照有序方式插入一已知字符元素;6)在线性表中删除第i个结点;7)计算链表的长度。3实验步骤与源程序一、顺序表的源程序#include#include#includeintlist[25];inti,n,a,sum=0,k,l;inteleminsert;/*---------
6、---------创建函数--------------*/voidinitlist(){printf("Pleaseinputthetotaloftheelems:");scanf("%d",&n);if(n>25
7、
8、n<1){printf("ERROE!");return;}printf("Pleaseinputtheelems:...");for(i=0;i9、-----*/voidPrint(intlist[],intn){intj;for(j=0;j10、11、m>n){printf("ERROR!");return;}elseprintf("Theelemis%dat%dplace",list[m-1],m12、);return;}/*----------------插入函数------------*/voidInsert(intlist[],intn,intm,intelem){intj;if(m<113、14、m>n){printf("ERROR!");return;}for(j=n-1;j>=m-1;j--){list[j+1]=list[j];}list[m-1]=elem;n=n+1;printf("Thenewlistare:
9、-----*/voidPrint(intlist[],intn){intj;for(j=0;j10、11、m>n){printf("ERROR!");return;}elseprintf("Theelemis%dat%dplace",list[m-1],m12、);return;}/*----------------插入函数------------*/voidInsert(intlist[],intn,intm,intelem){intj;if(m<113、14、m>n){printf("ERROR!");return;}for(j=n-1;j>=m-1;j--){list[j+1]=list[j];}list[m-1]=elem;n=n+1;printf("Thenewlistare:
10、
11、m>n){printf("ERROR!");return;}elseprintf("Theelemis%dat%dplace",list[m-1],m
12、);return;}/*----------------插入函数------------*/voidInsert(intlist[],intn,intm,intelem){intj;if(m<1
13、
14、m>n){printf("ERROR!");return;}for(j=n-1;j>=m-1;j--){list[j+1]=list[j];}list[m-1]=elem;n=n+1;printf("Thenewlistare:
此文档下载收益归作者所有