




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据结构上机实验课后练习报告:天明学号:班级:通信1412015年9月28日星期一1、实验一:编写一个程序,实现顺序表的各种基本运算,并在此基础上设计一个主 程序完成以下功能。1 .初始化顺序表L2 .依次采用尾插法或者头插法插入元素 a,b,c,d,e3 .输出顺序表L4 .输出顺序表的长度5 .判断顺序表是否为空6 .输出顺序表的第四个元素7 .输出元素a的位置8 .在第三个元素位置插入元素f9 .输出顺序表L10 .删除顺序表L的第四个元素11 .输出顺序表L12 .释放顺序表实验代码:#include<stdio.h>#include<stdlib.h>#inc
2、lude<malloc.h>#include<string.h># define MaxSize 20/设置顺序表的初始长度# define ListAdd 5每次申请增加的存大小# define OVERFLOW -1# define OK 0# define ERROR -2typedef char ElemType;Word资料typedef structElemType *elem;int length;顺序表长度int listsize;顺序表占用的存空间顺序表定义SqList;I*初始化顺序表函数*/void InitSq_List(SqList &
3、L)L.elem = new ElemTypeMaxSize;if(!L.elem)exit(OVERFLOW);L.length = 0;L.listsize = L.length;/* 创建一个顺序表 */ void GreatSqList(SqList &L,int n) 在堆上申请存存申请失败int i;for(i = 0;i < n;i+) /依次输入顺序表容scanf("%c”,&L.elemi);fflush(stdin);+L.length;/* 销毁顺序表 */void DeatrotSqList(SqList &L)delete L.
4、elem;L.length = 0;L.listsize = 0;/尾插法插入元素释放指针指向的存int SqList_Inser(SqList &L,int i,ElemType e) int j;ElemType *p;/插入位置非法则退出if(i<1 | i>L.length + 1) return ERROR;if(L.length >= L.listsize)如果初始化申请的空间已满,则重新申(ElemType*)realloc(L.elem,(L.listsize+ListAdd) *sizeof( ElemType );if(!p) return OVE
5、RFLOW;L.elem = p;L.listsize += ListAdd;for(j=L.length - 1;j>=i-1;j-)L.elemj+1 = L.elemjL.elemi-1 = e;+L.length;return OK;/*判断顺序表是否为空元素依次往后移覆盖,实现删除*int ListEmpty(SqList &L)return (L.length = 0);/* 获取顺序表长度 */ int getList_Len(SqList &L)return L.length;/*取出对应下标元素*int getIndex(SqList L,char el
6、em)int index = 0;while(index<L.length )判断元素是否相当找到元素并返回下标/否则返回错误if( L.elemindex = elem) return index+1;index+;return ERROR;/*根据下标取出对应的元素*/ int LocateElem(SqList L,int index)int i = 0;if(index >=L.length | index<1)printf("下标越界,无法查询!");return ERROR;return L.elemindex-1;/*删除指定位置的元素值*/
7、 int DleteElem(SqList &L,int n) int j;if(n>L.length | n<1)return ERROR;for(j = n-1;j<L.length;j+) L.elemj = L.elemj+1;return OK;产* 输出顺序表的容 *void DisPlay_SqList(SqList L)int i;if(ListEmpty(L)return ;for(i=0;i<L.length;i+)printf("%4c”,L.elemi);printf("n");/* 主函数 */int ma
8、in()SqList L;/定义一个顺序表对象ElemType e,elem;int index;int length = 0;InitSq_List(L);printf("初始化顺序表:n");GreatSqList(L,5);printf("顺序表 L 为:");DisPlay_SqList(L);length = getList_Len(L);printf("顺序表的长度为:%dn",length);if(ListEmpty(L)printf("顺序表为空!n");elseprintf("顺序表不为空! n");elem = LocateElem(L,1);e = LocateElem( L, 4);printf("第四个元素为:%cn",e);index = getIndex(L,elem);printf("元素 %c 的位置是第 %d 个n",elem,index);printf("在第三个位置插入元素f:&qu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 语文-福建省漳州市2025届高三毕业班第三次教学质量检测(漳州三检)试题和答案
- 《探索与发现:三角形边的关系》(教学设计)-2023-2024学年四年级下册数学北师大版
- 乡村公路养护合同范例
- 幼儿园小班角色游戏与社会认知计划
- 卖车正规交易合同范例
- 高中教师工作计划
- 如何在变化中保持年度目标的稳定计划
- 加强行业知识的学习目标计划
- 信贷行业月度个人工作计划
- 社团资源整合优化计划
- 化学-江苏省镇江市2024-2025学年高三下学期期初质量监测试题和答案
- 2025年中考语文一轮复习:民俗类散文阅读 讲义(含练习题及答案)
- 【正版授权】 IEC 63310:2025 EN Functional performance criteria for AAL robots used in connected home environment
- 2025届新高考政治冲刺备考复习把握高考趋势+科学高效命题
- 最终版附件1:“跨学科主题学习”教学设计(2025年版)
- 2025年春季安全教育主题班会教育记录
- 2024年春季学期低年级学雷锋讲奉献主题班会
- 2025年度环保咨询与评估服务合同范本模板
- 机电一体化专科毕业论文范文
- 2025至2030年中国烟用接装纸数据监测研究报告
- 2024年呼和浩特职业学院高职单招职业适应性测试历年参考题库含答案解析
评论
0/150
提交评论