线性表的顺序存储结构定义和基本操作算法实现_第1页
线性表的顺序存储结构定义和基本操作算法实现_第2页
线性表的顺序存储结构定义和基本操作算法实现_第3页
全文预览已结束

下载本文档

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

文档简介

1、v1.0 可编辑可修改/* 线性表的顺序存储结构定义和基本操作算法实现 */#include /*线性表的顺序存储结构定义 */#define MAX 11/* 线性表可能达到的最大长度值 */typedef int datatype; typedef struct datatype dataMAX; int last;list;/*1.线性表的初始化 */void init(list *lp)lp-last=0;/*2.求线性表的长度 */int length(list *lp) return (lp-last);/*3. 插入运算 , 在表第 i 个位置插入一个值为 x 的新元素 */ v

2、oid insert(list *lp,int i,datatype x) int j;if(lp-last=MAX-1)printf(Overflow!n);/*表已满 */else if(ilp-last+1)printf(Error!n);/* 插入位置错误 */elsefor(j=lp-last;j=i;j-)lp-dataj+1=lp-dataj; /* 数据元素后移 */lp-datai=x;/* 插入 x */lp-last+;/* 表长度加 1*/v1.0 可编辑可修改/*4.删除运算 , 在表中删除第i 个数据元素 */void delete(list *lp,int i)

3、int j;if(ilp-last) /*检查空表及删除位置的合法性 */不存在第 i 个元素 */printf(The %dth element is not exist!,i); /*elsefor(j=i+1;jlast;j+)向前移动元素 */lp-dataj-1=lp-dataj; /*lp-last-;/*表长度减 1 */*5.查找运算 , 在表中查找x 数据元素 */int locate(list *lp,datatype x) int i=lp-last;while(i0 & lp-datai!=x)i-; return i; /*int locate(list *lp,da

4、tatype x)int i=1;返回 i 下标,即元素位置 */while( ilast & lp-datai!=x ) i+; if(ilast) return i; /*/* else return 0; */*主函数调用线性表操作算法函数 */v1.0 可编辑可修改main()list lst;int i,x,c;while(1)printf(nn);printf(1-initn);printf(2-lengthn);printf(3-insertn);printf(4-deleten);printf(5-locaten);printf(0-exitn);printf(Please e

5、nter your selection:);scanf(%d,&c);switch(c)case 1:init(&lst);break;case 2:length(&lst);break;i andcase 3:printf(Please input x:);scanf(%d%d,&i,&x);insert(&lst,i,x);break;case 4:printf(Please input i :);scanf(%d,&i);delete(&lst,i);break;inputcase 5:printf(Please x:);scanf(%d,&x);if(locate(&lst,x)printf(nLocation is %dn,locate(&lst,x);else printf(Not found!n);break;case 0:exit(1);输出线性表数据元printf(Data elements of the linear list is:);/*素*/v1.0 可编辑可修改for(i=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论