- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构实验一-线性表
实验一 线性表
学生姓名 吴肖遥 学 号 20151681310131 专业班级 电子信息5班 实验地点 理工大楼610 实验日期 2016.3.21 指导教师 李红蕾 实验环境 Visual c++6.0 实验学时 2学时 实验类型 综合 实验成绩 一、实验目的
1、深刻理解线性结构的特点,以及在计算机内的两种存储结构。
2、熟练掌握线性表的顺序存储结构和链式存储结构,及其它们的基本操作,重点掌握查找、插入和删除等操作。
二、实验要求
1、认真阅读程序,将未完成的代码补全(红色部分)。
2、上机调试,并运行程序。
3、保存和截图程序的运行结果,并结合程序进行分析。
三、实验内容和基本原理
1、实验1.1 顺序表的操作
利用顺序表存储方式实现下列功能(见参考程序1):
1)通过键盘输入数据建立一个线性表,并输出该线性表。
如,依次输入元素25,21,46,90,12,98。
2)根据屏幕菜单的选择,进行数据的插入、删除和查找,并在插入或删除数据后,再输出线性表。如,在第2个位置上插入元素43,然后输出顺序表。删除顺序表第4个元素,输出改变的顺序表。
3)在屏幕菜单中选择0,结束程序的运行。
基本原理:在顺序表的第i个位置上插入一个元素时,必须先将线性表的第i个元素之后的所有元素依次后移一个位置,以便腾空一个位置,在把新元素插入到该位置。当要删除第i个元素时,只需将第i个元素之后的所有元素前移一个位置。
程序代码(蓝色为补充的语句):
//* * * * * * * * * * * * * * * * * * * * * * * *
//*PROGRAM :顺序结构的线性表 *
//*CONTENT :建立,插入,删除,查找 *
//*编程语言: Visual c++ 6.0 *
//* * * * * * * * * * * * * * * * * * * * * *
#includestdio.h
#includestdlib.h
#define MAXSIZE 20
typedef int ElemType; //数据元素的类型
typedef struct
{
ElemType a[MAXSIZE];
int length;
}SqList; //顺序存储的结构体类型
SqList a,b,c;
//函数声明
void creat_list(SqList *L);
void out_list(SqList L);
void insert_sq(SqList *L,int i,ElemType e);
ElemType delete_sq(SqList *L,int i);
int locat_sq(SqList L,ElemType e);
//主函数
void main()
{
int i,k,loc;
ElemType e,x;
char ch;
do {printf(\n\n\n);
printf(\n 吴肖遥20151681310131);
printf(\n 1.建立线性表);
printf(\n 2.插入元素);
printf(\n 3.删除元素);
printf(\n 4.查找元素);
printf(\n 0.结束程序运行);
printf(\n =====================);
printf(\n 请输入要执行的操作: );
scanf(%d,k);
switch(k)
{
case 1:{creat_list(a);
out_list(a);
}
break;
case 2:{printf(\n请输入插入位置: ,a.length+1);
scanf(%d,i);
printf(请输入要插入的元素值: );
scanf(%d,e);
insert_sq(a,i,e);
out_list(a);
}
break;
case 3:{printf(\n请输入要删除元素的位置: ,a.length);
scanf(%d,i);
x=delete_sq(a,i);
out_list(a);
if(x!=-1)
printf(\n删除的元素为:%d\n,x);
else printf(要删除的元素不存在!);
您可能关注的文档
- 推销与网络营销实务.doc
- 推荐四个人所得税.ppt
- 提升学生爱的能力.ppt
- 提升智力的婴幼儿早教方法.pptx
- 控制部DCS仿真室建立与运用 - 副本.ppt
- 提升法律素养,预防违法犯罪.ppt
- 拼音小学语文一上《汉语拼音8zhchshr》.ppt
- 提升员工的责任心.ppt
- 提升设备的运转理论.ppt
- 提升销售的五大关键点.ppt
- 《GB/T 32151.42-2024温室气体排放核算与报告要求 第42部分:铜冶炼企业》.pdf
- GB/T 32151.42-2024温室气体排放核算与报告要求 第42部分:铜冶炼企业.pdf
- GB/T 38048.6-2024表面清洁器具 第6部分:家用和类似用途湿式硬地面清洁器具 性能测试方法.pdf
- 中国国家标准 GB/T 38048.6-2024表面清洁器具 第6部分:家用和类似用途湿式硬地面清洁器具 性能测试方法.pdf
- 《GB/T 38048.6-2024表面清洁器具 第6部分:家用和类似用途湿式硬地面清洁器具 性能测试方法》.pdf
- 《GB/T 18238.2-2024网络安全技术 杂凑函数 第2部分:采用分组密码的杂凑函数》.pdf
- GB/T 18238.2-2024网络安全技术 杂凑函数 第2部分:采用分组密码的杂凑函数.pdf
- 《GB/T 17215.686-2024电测量数据交换 DLMS/COSEM组件 第86部分:社区网络高速PLCISO/IEC 12139-1配置》.pdf
- GB/T 13542.4-2024电气绝缘用薄膜 第4部分:聚酯薄膜.pdf
- 《GB/T 13542.4-2024电气绝缘用薄膜 第4部分:聚酯薄膜》.pdf
文档评论(0)