《数据结构》实验报告

上传人:枫** 文档编号:511397409 上传时间:2023-01-11 格式:DOC 页数:33 大小:198.50KB
返回 下载 相关 举报
《数据结构》实验报告_第1页
第1页 / 共33页
《数据结构》实验报告_第2页
第2页 / 共33页
《数据结构》实验报告_第3页
第3页 / 共33页
《数据结构》实验报告_第4页
第4页 / 共33页
《数据结构》实验报告_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《《数据结构》实验报告》由会员分享,可在线阅读,更多相关《《数据结构》实验报告(33页珍藏版)》请在金锄头文库上搜索。

1、精选优质文档-倾情为你奉上姓名: 关宏新学号: 班级: 计084班指导教师: 储岳中实验一线性表基本操作的实现一、 实验目的1、 掌握使用Turbo C2.0上机调试线性表的基本方法;2、 掌握线性表的基本操作:插入、删除、查找等运算在顺序存储结构和链式存储结构上的运算。二、实验要求1、 链表插入、删除和查找算法的代码;2、 程序运行结果及分析;3、 实验总结。三、实验内容1、 认真阅读和掌握本实验的参考程序。2、 上机运行本程序,并完善删除、查找等运算。3、 保存程序的运行结果,并结合程序进行分析。4、 按照你对链表操作需要,重新改写算法并运行,实现链表的插入、删除、查找等运算,并保存运行结

2、果。四、程序流程图、算法及运行结果1-1#include stdio.h#include stdlib.h#define MAXSIZE 100struct SeqList int dataMAXSIZE; int length;typedef struct SeqList *PSeqList;PSeqList creaeNullList_seq() PSeqList palist=(PSeqList)malloc(sizeof(struct SeqList); if(palist!=NULL) palist-length=0; return(palist); printf(Out of sp

3、ace!n); return NULL;int isNullList_seq(PSeqList palist) return (palist-length=0);int insertPre_seq(PSeqList palist,int p,int x) int q; if(palist-length=MAXSIZE) printf(overflow!n); return(0); if(ppalist-length) printf(Not exist!n); return(0); if(isNullList_seq(palist) palist-data0=x; palist-length=1

4、; return(1); for(q=palist-length-1;q=p;q-) palist-dataq+1=palist-dataq ; palist-datap=x; palist-length= palist-length+1; return(1);void main() int i; PSeqList list; list=creaeNullList_seq(); printf(插入前的顺序表为:n ); for(i=0;idatai); insertPre_seq(list,5,55); printf(n插入后的顺序表为:n ); for(i=0;ilength;i+) pri

5、ntf( %d , list-datai); printf(n); getch();1-2#include stdio.h#include stdlib.h#define MAXSIZE 100struct SeqList int dataMAXSIZE; int length;typedef struct SeqList *PSeqList;PSeqList creaeNullList_seq() PSeqList palist=(PSeqList)malloc(sizeof(struct SeqList); if(palist!=NULL) palist-length=0; return(

6、palist); printf(Out of space!n); return NULL;int isNullList_seq(PSeqList palist) return (palist-length=0);/* 插入 */int insertPre_seq(PSeqList palist,int p,int x) int q; if(palist-length=MAXSIZE) printf(overflow!n); return(0); if(ppalist-length) printf(Not exist!n); return(0); if(isNullList_seq(palist

7、) palist-data0=x; palist-length=1; return(1); for(q=palist-length-1;q=p;q-) palist-dataq+1=palist-dataq ; palist-datap=x; palist-length= palist-length+1; return(1);/* 删除 */int deletePre_seq(PSeqList palist, int i)int j;if (!palist) printf(表不存在);return(-1); if(i palist - length) printf (删除位置不合法); ret

8、urn(0); for(j=i;j length;j+) palist -dataj-1= palist -dataj;palist - length -;return (1); /* 检索 ElementType */int locationPre_seq(PSeqList palist,int x) int i=0; if (!palist) printf(表不存在); return(-1); while (ilength & palist-datai!= x) i+; if (i=palist- length) return 0; else return (i + 1); void ma

9、in() int i; PSeqList list; list=creaeNullList_seq(); printf(插入前的顺序表为:n ); for(i=0;idatai); insertPre_seq(list,5,55); printf(n插入后的顺序表为:n ); for(i=0;ilength;i+) printf( %d , list-datai); printf(n); printf(删除前的顺序表为:n ); for(i=0;idatai); deletePre_seq(list, 5); printf(n删除后的顺序表为:n ); for(i=0;idatai); pri

10、ntf(n); if(locationPre_seq(list,9)=0) printf(检索的内容不存在!); if(locationPre_seq(list,9)!=0&locationPre_seq(list,9)!=-1) printf(检索的内容下标为:%d,locationPre_seq(list,9); printf(n); getch();实验二 栈的基本操作一、 实验目的掌握栈的基本操作:初始化栈、判栈为空、出栈、入栈等运算。二、实验要求1 认真阅读和掌握本实验的算法。2 上机将本算法实现。 3 保存程序的运行结果,并结合程序进行分析。三、实验内容利用栈的基本操作实现将任意一

11、个十进制整数转化为R进制整数算法为:1、定义栈的顺序存取结构2、分别定义栈的基本操作(初始化栈、判栈为空、出栈、入栈等)3、定义一个函数用来实现上面问题:(1)十进制整数X和R作为形参(2)初始化栈(3)只要X不为0重复做下列动作将X % R入栈, X=X/R(4)只要栈不为空重复做下列动作栈顶出栈 , 输出栈顶元素四、程序流程图、算法及运行结果2-1#include #include #include #define stack_init_size 100#define stackincrement 10typedef struct sqstack int *base; int *top; int stacksize; sqstack;i

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号