- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构(C语言版) 实验报告
专业
学号:_______________________
班级:_______________________
姓名:______________________
指导教师:___________________
青岛大学信息工程学院
0月
实验1
实验题目:顺序存储结构线性表的插入和删除
实验目的:
了解和掌握线性表的逻辑结构和顺序存储结构,掌握线性表的基本算法及相关的时间性能分析。
实验要求:
建立一个数据域定义为整数类型的线性表,在表中允许有重复的数据;根据输入的数据,先找到相应的存储单元,后删除之。
实验主要步骤:
分析、理解给出的示例程序。
调试程序,并设计输入一组数据(3,-5,6,8,2,-5,4,7,-9),测试程序的如下功能:根据输入的数据,找到相应的存储单元并删除,显示表中所有的数据。
程序代码:
#includestdio.h
#includemalloc.h
#define OK 1
#define ERROR 0
#define OVERFLOW -2
#define LIST_INIT_SIZE 100
#define LISTINCREMENT 10
typedef struct{
int* elem;
int length;
int listsize;
}Sqlist;
int InitList_Sq(Sqlist L){
L.elem=(int*)malloc(LIST_INIT_SIZE*sizeof(int));
if(!L.elem) return -1;
L.length=0;
L.listsize=LIST_INIT_SIZE;
return OK;
}
int ListInsert_Sq(SqlistL,int i,int e){
if(i1||iL.length+1) return ERROR;
if(L.length==L.listsize){
int *newbase;
newbase=(int*)realloc(L.elem,(L.listsize+LISTINCREMENT)*sizeof(int));
if(!newbase) return -1;
L.elem=newbase;
L.listsize+=LISTINCREMENT;
}
int *p,*q;
q=(L.elem[i-1]);
for(p=(L.elem[L.length-1]);p=q;--p)
*(p+1)=*p;
*q=e;
++L.length;
return OK;
}
int ListDelete_Sq(Sqlist L,int i,int e){
int *p,*q;
if(i1||iL.length)return ERROR;
p=(L.elem[i-1]);
e=*p;
q=L.elem+L.length-1;
for(++p;p=q;++p)
*(p-1)=*p;
--L.length;
return OK;
}
int main(){
Sqlist L;
InitList_Sq(L);//初始化
int i,a[]={3,-5,6,8,2,-5,4,7,-9};
for(i=1;i10;i++)
ListInsert_Sq(L,i,a[i-1]);
for(i=0;i9;i++)
printf( %d,L.elem[i]);
printf(\n);//插入9个数
ListInsert_Sq(L,3,24);
for(i=0;i10;i++)
printf( %d,L.elem[i]);
printf(\n);//插入一个数
int e;
ListDelete_Sq(L,2, e);
for(i=0;i9;i++)
printf( %d,L.elem[i]);//删除一个数
printf(\n);
return 0;
}
实验结果:
3,-5,6,8,2,-5,4,7,-9
3,-5,24,6,8,2,-5,4,7,-9
3,24,6,8,2,-5,4,7,-9
心得体会:
实验2
实验题目:单链表的插入和删除
实验目的:
了解和掌握线性表的逻辑结构和链式存储结构,掌握单链表的基本算法及相关的时间性能分析。
实验要求:
建立一个数据域定义为字符类型的单链表,在链表中不允许有重复的字符;根据输入的字符,先找到相应的结点,后删除之。
实验主要步骤:
分析、理解给出的示例程序。
调试程序,并设计输入数据(如:A,C,E,F,H,J,Q,M),测试程序的如下功能:不允许重复字符的插入;根据输入的字符
您可能关注的文档
- 输电线路施工机械(概述及基础施工机械)分析.doc
- 输电线路小型气象站技术支持分析.pptx
- 输卵管妊娠的症状及诊断方法分析.ppt
- 输煤检修工试题分析.doc
- 输煤系统运规分析.doc
- 输煤综合楼玻璃幕墙施工作业指导书分析.doc
- 输气管道设计第三分析.ppt
- 输气管道设计第一分析.ppt
- 输入输出设备及接口技术分析.ppt
- 输入输出系统分析.doc
- 福莱特玻璃集团股份有限公司海外监管公告 - 福莱特玻璃集团股份有限公司2024年度环境、社会及管治报告.pdf
- 广哈通信:2024年度环境、社会及治理(ESG)报告.pdf
- 招商证券股份有限公司招商证券2024年度环境、社会及管治报告.pdf
- 宏信建设发展有限公司2024 可持续发展暨环境、社会及管治(ESG)报告.pdf
- 品创控股有限公司环境、社会及管治报告 2024.pdf
- 中信建投证券股份有限公司2024可持续发展暨环境、社会及管治报告.pdf
- 洛阳栾川钼业集团股份有限公司环境、社会及管治报告.pdf
- 361度国际有限公司二零二四年环境、社会及管治报告.pdf
- 中国神华能源股份有限公司2024年度环境、社会及管治报告.pdf
- 广西能源:2024年环境、社会及治理(ESG)报告.pdf
最近下载
- 川崎机器人CX系列检查与维护手册.pdf
- 银行企业文化故事PPT课件.pptx
- 浙江省温州市2023-2024学年八年级下册期中考试科学模拟试题(附答案).docx VIP
- 劳动教育教学课件.pptx VIP
- 五年级数学下册教学课件《分数和小数的互化》.pptx VIP
- 基于PLC模拟量的直流电动机转速控制系统-毕业论文.docx
- P2中文教材带题目(CMA注册管理会计师课程).pdf VIP
- 河道生态治理一期景观工程质量保证措施 .docx
- 《心理健康与职业生涯》试卷(期中复习模拟试题库)荐2024年春季学期新课标高教版中职《心理健康与职业生涯》第一、二单元模拟测试题可编辑.doc
- 幼儿一日生活观察记录表.doc
文档评论(0)