


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.题目:试写一个算法,实现顺序表的就地逆置,即利用原表的存储空间将线性表(a1,a2, ,an)逆置为(an,an-1, a1) 一 需求分析1本题在演示程序中,数组最大可以存100个数据。2在设计中事先需要输入长度,再输入数据,以回车结束。3程序执行的命令包括:1)定义线性表 2)初始化线性表 3)输入函数 4)输出函数 5)求逆置4测试数据 (1)请输入长度:4 请输入数据:4 5 6 87 4* 5* 6* 87* 逆序为 87* 6* 5* 4* (2)请输入长度:3 请输入数据:3 7 9 3* 7* 9* 逆序为 9* 7* 3*二 概要设计 基本操作:status Initlis
2、t_Sq(Sqlist *L)操作结果:初始化一个线性表。void input(Sqlist *A)初始条件:线性表已存在。操作结果:往线性表里面输入数据。void print(Sqlist *A)初始条件:线性表已存在。操作结果:输出线性表。void invert(Sqlist *A)初始条件:线性表已存在。操作结果:将线性表逆置。三 详细设计 1元素类型,线性表类型#define LIST_INIT_SIZE 100#define LISTINCREMENT 10#define OK 1typedef struct int *elem; int length; int listsize;
3、Sqlist; typedef int status;2对一个线性表进行初始化 status Initlist_Sq(Sqlist *L) L-elem=(int *)malloc(LIST_INIT_SIZE*sizeof(int); if(!L-elem) printf(voerflow); else L-length=0; L-listsize=LIST_INIT_SIZE; return OK;3对一个线性表输入数据,是先输入长度,然后再输入数据。void input(Sqlist *A) int i=0; printf(n请输入长度:n); scanf(%d,&A-length);
4、printf(请输入数:); for(i=0;ilength;i+) scanf(%d,&A-elemi); 4对一个线性表进行输出。void print(Sqlist *A) int i; for(i=0;ilength;i+) printf(%d* ,A-elemi); void invert(Sqlist *A) int n=A-length; int m=(A-length)/2,i; int temp; for(i=0;ielemi;A-elemi=A-elemn-i-1;A-elemn-i-1=temp; void main()Sqlist A; /定义一个线性表A Initlist_Sq(&A); /对A进行初始化 input(&A); /输入数据 print(&A);printf(逆序为 ); invert(&A); /对线性表A逆置 print(&A); /输出逆置以后的A四 调试分析1由于本题用到的都是线性表和c语言里最基本的东西,在调试的时候比较顺利2在刚开始的时候曾忽略了一些变量参数的&在调用函数传址的时候。今后要重视确定参数的变量和复值属性的区分和表识。3算法的时空分析因为本题的核心算法用了一个for循环,所以时间复杂度是O(length/2).五 测试结果(1)请输入长度:4 请输入数据:4 5 6 87 4*
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四年级学习探秘
- 图木舒克职业技术学院《奥尔夫与柯达伊音乐教学法》2023-2024学年第二学期期末试卷
- 湘西市重点中学2025年高三下学期期末模拟英语试题含解析
- 平利县2025年数学四下期末统考模拟试题含解析
- 山东省潍坊市昌邑市2025届小升初模拟数学测试卷含解析
- 山东省宁津县市级名校2024-2025学年初三年级第二学期语文试题周练一(含附加题)含解析
- 上海市浦东新区2024-2025学年高三下学期期末考试(生物试题文)试题含解析
- 江苏省南通市海安市2025届初三下学期尖子生物理试题含解析
- 上海市度嘉定区2024-2025学年高中毕业班第二次模拟(语文试题文)试卷含解析
- 2025年营养师职业资格考试试题及答案
- 2025成都市新劳动合同书范本
- 第二章中国体育产业的发展与现状
- 静脉炎的护理 课件
- DB3303T078-2024规模以上工业企业健康评价指标体系
- 特种作业合同协议
- 社工证考试试题及答案
- 2025年云南专升本招生计划
- 汽车营销专业毕业论文
- 2025年中国VOC治理市场深度评估研究报告
- 2025年宽带网络拓展合作协议书
- 教学主管竞聘培训机构
评论
0/150
提交评论