1实验-顺序表顺序存储

1实验-顺序表顺序存储

ID:42465756

大小:48.50 KB

页数:7页

时间:2019-09-15

1实验-顺序表顺序存储_第1页
1实验-顺序表顺序存储_第2页
1实验-顺序表顺序存储_第3页
1实验-顺序表顺序存储_第4页
1实验-顺序表顺序存储_第5页
资源描述:

《1实验-顺序表顺序存储》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验一线性表(顺序结构)—、实验目的1.掌握实现线性表的基本操作方法;2.掌握线性表的基本操作:建表、插入、删除、输出等运算在顺序存储结构的实现;3.通过本次实习加深对高级语言C语言的使用(特别是函数参数、指针类型、链表的使用)。熟悉线性表的棊木运算在两种存储结构(顺序结构和链式结构)上的实现。二、实验内容线性表的基本操作:建表、插入、删除、输出等运算在顺序存储结构的实现;三、实验代码/咅00:基本信息定义*/#include"stdio.h"#include"malloc.h"#defineSUCCESS1#defineFAILURE0#dcfinc

2、null0#definemaxsize100typedefintdatatype;typedefstruct/*定义线性表(顺序结构)数据类型*/{datatypedatafmaxsize];intlast;[sequenlist;intn;/*定义功能选择菜单函数引voidprint(){piintf(”・・・■线性表(顺序结构)的基本操作・・・An”);printf(H开始“);)/*打印线性表(顺序结构)*/voidprintout(sequenlist*L){inti;for(i=1;i<=L->last;i++)printfC'[%d]”

3、,i);printf(Hn);for(i=l;i<=L->last;i++)printf(u%6du,L->data[i]);printf(Hn);/*01线性表(顺序结构)的初始化*/intlnitList(sequenlist*L){L=(scqucnlist*)malloc(sizeof(sequenlist));if(!L){returnFAILURE;elseL->last=-1;returnSUCCESS;/*02创建线性表(顺序结构)*/voidcreatlist(sequenlist*L){inti;inttmp;printfC

4、1请输入线性表中数据的个数:”);scanf(”%d",&n);for(i=1;i<=n;i++){printf("data[%dj=",i);fflush(stdin);/*清除掉键盘缓冲区*/scanf("%d”,&tmp);L->data[i]=tmp;}L->last=n;}/*03在第i个结点前插入元素x(note:元素从1始计数)*/intinscrt(scqucnlist*L,datatypex,inti){intj;讦(L->last==maxsize)/*如果原线性表(顺序结构)己经满了*/{printf(”线性表(顺序结构)已满

5、“);return0;}elseif((i

6、

7、(i>L->last+1))/*如果输入的i值超岀范围引{printfC*错了,请输入正确的丫值“);return0;else{for(j=L->last;j>=i;j-)/*从笫i个元素起,每个元素后移一位*/L->data[j+l]=L->data[jJ;L->data[i]=x;L->last=L->last+1;}return(l);}/*04删除第i个结点,note:元素从0始计数*/intdellist(sequenlist*L,inti){if((i

8、

9、(i>L->last))

10、/*如果输入的i值超出范围*/{printf(“错了,请输入正确的丫值”);return0;}else{for(;ilast;i++)/*从第i+1个元素起,每个元素前移一位*/L->data[i]=L->data[i+1J;L・>last=L・>last・1;rcturn(l);}}/*05求线性表(顺序结构)的长度勺intCountList(sequenlist*L){returnL->last;}/*06清空线性表(顺序结构)*/voidClearList(sequenlist*L){L->last=-1;}/*07判断线性表(顺序结

11、构)是否为空引/*boolListIsEmpty(sequenlist*L){returnL->last==-1;}*//*08按位直取线性表(顺序结构)屮元索*/datatypeGetElem(sequenlist*L,intpos){if((L->last==-1)

12、

13、(pos<1)

14、

15、(pos>L->last))/*表为空或者位置不对*/{printf(n线性表为空,或者输入的位置有错!”);returnFAILURE;returnL->data[pos];/咅09按值查找的定位函数犁intLocateList(sequenlist*L,data

16、typevalue){inti=0;if(L->last==-1)/*表为空*/{printf

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。