顺序表的就地逆置_第1页
顺序表的就地逆置_第2页
顺序表的就地逆置_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论