线性表的建立、插入、删除

线性表的建立、插入、删除

ID:12449980

大小:1.27 MB

页数:6页

时间:2018-07-17

线性表的建立、插入、删除_第1页
线性表的建立、插入、删除_第2页
线性表的建立、插入、删除_第3页
线性表的建立、插入、删除_第4页
线性表的建立、插入、删除_第5页
资源描述:

《线性表的建立、插入、删除》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、软件基础基础实验报告系别:土木工程班级:城市规划学号:1100501009姓名:余书振实验时间:20120918实验地点:开4实验环境:Turboc++3.0(vc6.0)实验名称:线型表的建立、插入和删除(实验三和实验四的综合)实验目的:(1)学习线性表中的顺序表的结构(2)学会建立顺序表(3)学会线性表的顺序存储下的插入运算(4)学会线性表的顺序存储下的删除运算实验内容:建立和插入建立一个空间容量为10,长度为8的顺序存储空间(参考课件中算法描述)输入数据为教材第24页图2.7,现要求在第2

2、个元素之前插入87,然后在第9个元素之前插入14如下图所示。把插入后的结果打印出来。(参考课件中算法描述)程序代码:#include"stdio.h"#include"stdlib.h"input(int*v,int*n){inti;printf("请输入数据:");for(i=0;i<*n;i++)scanf("%d",v+i);}/*逐个输入元素,并打印*/output(int*v,int*n){inti;for(i=0;i<*n;i++)printf("%d",*(v+i));}/*输

3、出地址为v+i的元素*/int*initsl(intm,int*n){int*v;/*把线性表的空间定义成指针变量*/v=(int*)malloc(m*sizeof(int));/*申请指定空间大小的线性表,并转化成指针变量*/*n=0;returnv;/*返回到指针v所在地址*/}voidinsl(int*v,intm,int*n,inti,intb)/*插入函数*/{intj;if(*n==m){printf("overflow");return;}/*如果元素个数等于空间大小,溢出*/

4、if(i>*n-1)i=*n+1;/**/if(i<1)i=1;/*插入点在第一个位置*/for(j=*n;j>=i;j--)v[j]=v[j-1];/*插入点之后的元素按从后至前的顺序后移*/v[i-1]=b;/*插入点赋予元素b*/*n=*n+1;空间大小即元素个数加1return;}/*desl(int*v,intm,int*n,inti){intj;if(*n==0){printf("underflow");}if((i<1)

5、

6、(i>*n)){printf("notthiselem

7、ent");}returnv;for(j=i;j<=*n-1;j++)v[j-1]=v[j];*n=*n-1;returnv;}*/voidmain(){int*v=NULL,*n=NULL,m,i,b;/*定义线性表为空*/charc;/*下面要用到交互,需定义成字符*/n=(int*)malloc(sizeof(int));printf("请输入线性表的空间大小:");scanf("%d",&m);v=initsl(m,n);//建立线型表printf("请输入线性表的实际长度:");s

8、canf("%d",n);input(v,n);output(v,n);getchar();/*从键盘得到字符*/printf("是否要插入元素Y/N:");/*交互信息*/c=getchar();getchar();/*将输入字符赋给c*/while(c=='Y'

9、

10、c=='y')/*循环判断条件*/{printf("请输入要插入的位置i和元素b:");scanf("%d,%d",&i,&b);insl(v,m,n,i,b);//插入数据output(v,n);/*输出插入后的数据*/ge

11、tchar();printf("是否要继续插入元素Y/N:");c=getchar();getchar();/*继续执行上面的交互循环*/}}实验内容:删除建立一个空间容量为10,长度为8的顺序存储空间(参考实验三)输入数据为教材第24页图2.7,现要求删除线性表第1个元素(删除元素29),然后再删除线性表的第六个元素(删除元素31)。把删除后的线性表打印出来。如下图所示:程序代码:#include"stdio.h"#include"stdlib.h"input(int*v,int*n){int

12、i;printf("请输入数据:");for(i=0;i<*n;i++)scanf("%d",v+i);}output(int*v,int*n){inti;for(i=0;i<*n;i++)printf("%d",*(v+i));}int*initsl(intm,int*n){int*v;v=(int*)malloc(m*sizeof(int));*n=0;returnv;}/*voidinsl(int*v,intm,int*n,inti,intb){intj;if(*n==m){print

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

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

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