线性表的创建插入和删除的操作

上传人:m**** 文档编号:470360479 上传时间:2023-09-05 格式:DOC 页数:7 大小:27.50KB
返回 下载 相关 举报
线性表的创建插入和删除的操作_第1页
第1页 / 共7页
线性表的创建插入和删除的操作_第2页
第2页 / 共7页
线性表的创建插入和删除的操作_第3页
第3页 / 共7页
线性表的创建插入和删除的操作_第4页
第4页 / 共7页
线性表的创建插入和删除的操作_第5页
第5页 / 共7页
点击查看更多>>
资源描述

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

1、实验内容:线性表的创建、插入删除等#includestdio.h#includestdlib.h int*inistl(int m,int *n) /*建立线性表函数*/int*v=NULL;v=malloc(m*sizeof(int*); /*创建链表,并把首地址赋给指针V*/n=0;return v;void insl(int*v,int m,int*n,int i,int b)/*在链表指定位置插入元素b*/int j;if(*n=m) /*检查是否链表溢出*/printf(the stack is overflown);return;if(i*n-1) i=*n+1; /*若插入点大于

2、元素位置则在表的结束插入*/if(i=i;j-) /*首位之间任意位置的插入*/vj=vj-1;vi-1=b;*n=*n+1; /*插入后元素统计指针加1*/void desl(int*v,int m,int*n,int i) /*线性表删除函数*/int j;if(*n=0) /*判断线性表是否为空*/printf(the stack is underflown );return;if(i*n) /*删除点在首部以前和尾部以后特殊情况排除*/printf(not this element in the list!);return;for (j=i;j=*n-1;j+) /*在允许位置做删除操

3、作*/vj-1=vj;*n=*n-1; /*元素统计指针减1*/return;) void input(int*v,int n) /*空表起始输入元素函数*/int i;for(i=0;in;i+ /*利用循环指针输入元素*/scanf(%d,v+i);void 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;*n=*n+1;return;void desl(int m,int *n,int v,int i)if(*n=0)printf(underflow n);retu

4、rn;if(i*n)printf(Not this element)input(int *v,int n)for(i=0;i*n;i+)scanf(%d,v+i);output(int v,int *n)for(i=0;i*n;i+)printf(%d,v+i);void main()int *v=NULL,m,*n=NULL,i,b;n=malloc(sizeof(int);printf(请输入空间容量:);scanf(%d,&m);v=initsl(m,n);printf(请输入实际个数:);scanf(%d,n);input(v,*n);printf(请输入插入位置:);scanf(%d

5、,&i);printf(请输入插入元素:);scanf(%d,&b);insl(v,m,n,i,b);output(v,*n);printf请输入删除位置:);scanf(%d,&i);desl(v,m,n,i);output(v,*n);软件技术实验#include stdlib.h void initsl(v,m,n)int *initsl(int m,int *n);int *v=NULL;v=malloc(m*sizeof(int);return v;insl(v,m,n,i,b)void v,b; int m,*n,i; if (*nm) printf(overflow n); re

6、turn; if (i*n1) i*n1; if (i1) i1; for (j*n;ji;j) vjvj1; vi1b; *n *n1; return; desl(v,m,n,i) void v; int m,*n,i; if (*n0) printf(underflow n);return; if (i1) | | (i*n) printf(Not this element in the list n); return; for (ji;j*n1;j) vj1vj; *n *n1; return;input(int *v,int n)for(i=0;i=m) /*检查是否链表溢出*/printf(the stack is overflown);return;void insl(int*v,int m,int*n,int i,int b)/*在链表指定位置插入元素b*/ int j;if(*n=m) /*检查是否链表溢出*/printf(the stack is overflown);return;if(i*n-1) i=*n+1; /*若插入点大于元素位置则在表的结束插入*/if(i=i;j-) /*首位之间任意位置的插入*/vj=vj-1;vi-1=b;*n=*n+1; /*插入后元素统计指针加1*/void d

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 模板/表格 > 财务表格

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