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

上传人:人*** 文档编号:551619271 上传时间:2023-09-06 格式:DOC 页数:6 大小:1.27MB
返回 下载 相关 举报
线性表的建立、插入、删除.doc_第1页
第1页 / 共6页
线性表的建立、插入、删除.doc_第2页
第2页 / 共6页
线性表的建立、插入、删除.doc_第3页
第3页 / 共6页
线性表的建立、插入、删除.doc_第4页
第4页 / 共6页
线性表的建立、插入、删除.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《线性表的建立、插入、删除.doc》由会员分享,可在线阅读,更多相关《线性表的建立、插入、删除.doc(6页珍藏版)》请在金锄头文库上搜索。

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

2、课件中算法描述)程序代码:#includestdio.h#includestdlib.hinput(int *v,int *n) int i; printf(请输入数据:n); for(i=0;i*n;i+) scanf(%d,v+i);/*逐个输入元素,并打印*/output(int *v,int *n) int i; for (i=0;i*n-1) i=*n+1; /*/ if (i=i;j-) vj=vj-1; /*插入点之后的元素按从后至前的顺序后移*/ vi-1=b; /*插入点赋予元素b*/ *n=*n+1;空间大小即元素个数加1 return ;/*desl(int *v,int

3、 m,int *n,int i)int j;if(*n=0)printf(underflow n);if (i*n)printf(not this element n);return v;for (j=i;j=*n-1;j+)vj-1=vj;*n=*n-1;return v;*/void main()int *v=NULL,*n=NULL,m,i,b; /*定义线性表为空*/char c; /*下面要用到交互,需定义成字符*/n=(int *)malloc(sizeof(int);printf(请输入线性表的空间大小:);scanf(%d,&m);v=initsl(m,n);/建立线型表pri

4、ntf(请输入线性表的实际长度 :);scanf(%d,n);input(v,n);output(v,n);getchar();/*从键盘得到字符*/printf(是否要插入元素Y/N:); /*交互信息*/c=getchar();getchar();/*将输入字符赋给c*/ while (c=Y|c=y) /*循环判断条件*/printf(n请输入要插入的位置i和元素b:); scanf(%d,%d,&i,&b); insl(v,m,n,i,b);/插入数据 output(v,n); /*输出插入后的数据*/getchar(); printf(是否要继续插入元素Y/N:);c=getchar

5、(); getchar();/*继续执行上面的交互循环*/实验内容:删除建立一个空间容量为10,长度为8的顺序存储空间(参考实验三)输入数据为教材第24页图2.7,现要求删除线性表第1个元素(删除元素29),然后再删除线性表的第六个元素(删除元素31)。把删除后的线性表打印出来。如下图所示: 程序代码:#includestdio.h#includestdlib.hinput(int *v,int *n) int i; printf(请输入数据:n); for(i=0;i*n;i+) scanf(%d,v+i);output(int *v,int *n) int i; for (i=0;i*n-

6、1) i=*n+1; if (i=i;j-) vj=vj-1; vi-1=b; *n=*n+1; return ;*/desl(int *v,int m,int *n,int i)int j;if(*n=m)printf(underflow n);if (i*n)printf(not this element n);return v;for (j=i;j=*n-1;j+)vj-1=vj;*n=*n-1;return v;void main()int *v=NULL,*n=NULL,m,i,b;char c;n=(int *)malloc(sizeof(int);printf(请输入线性表的空间大小:);scanf(%d,&m);v=initsl(m,n);/建立线型表printf(请输入线性表的实际长度 :);scanf(%d,n);input(v,n);output(v,n);getchar();printf(是否要删除元素Y/N:);c=getchar();getchar(); while (c=Y|c=y)printf(n请输入要删除的位置i和元素b:); scanf(%d,%d,&i,&b); desl(v,m,n,i,b);/删除数据 output(v,n);getchar(); printf(是否要继续删除元素Y/N:);c=getchar(); getchar();

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号