线性表的创建插入和删除的操作_第1页
线性表的创建插入和删除的操作_第2页
线性表的创建插入和删除的操作_第3页
线性表的创建插入和删除的操作_第4页
线性表的创建插入和删除的操作_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、实验容:线性表的创建、插入删除等#includestdio.h#includestdlib.h int*inistl(int m,int *n)int*v=NULL;v=malloc(m*sizeof(int*);n=0;return v;void insl(int*v,int m,int*n,int i,intint 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;void desl(int*v,int m,int*n,int i)int

2、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+)vj-1=vj;*n=*n-1;return;)/*建立线性表函数*/*创建链表,并把首地址赋给指针V*/b)/*在链表指定位置插入元素b*/*检查是否链表溢出*/*若插入点大于元素位置则在表的结束插入/*空表在首部插入元素*/*首位之间任意位置的插入*/*插入后元素统计指针加1*/*线性表删除函数*/*判断线性表是否为空*/*删除点在首部以前和尾部以后

3、特殊情况排”);/*在允许位置做删除操作*/*元素统计指针减1*/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;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)pri

4、ntf(underflow n);return;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 1) i = *n+1;if (i1) i = 1;for (j = *n; j = i;j) vj=vj 1;vi 1 =b;*n= *n+1;return;desl(v, m, n, i)void v; int m, *n, i; if (*n=0) printf(underflow n); return; if (i*n

5、) printf(Not this element in the list n); return;for (j = i; j=*n1; j + +) vj 1=vj;*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 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

6、;*n=*n+1;/*建立线性表函数*/*创建链表,并把首地址赋给指针V*/b)/*在链表指定位置插入元素b*/*检查是否链表溢出*/b)/*在链表指定位置插入元素b*/*检查是否链表溢出*/*若插入点大于元素位置则在表的结束插入/*空表在首部插入元素*/*首位之间任意位置的插入*/*插入后元素统计指针加1*/void desl(int*v,int m,int*n,int i)/*线性表删除函数*/int j;if(*n=0)/*判断线性表是否为空*/if(*n=0)printf(the stack is underflown ); return;if(i*n)/*if(i*n)/*删除点在首

7、部以前和尾部以后特殊情况排除*/printf(not this element in the list!); return;for (j=i;j=*n-1;j+) vj-1=vj;/*在允许位置做删除操作for (j=i;j=*n-1;j+) vj-1=vj;/*在允许位置做删除操作*/*n=*n-1;return;/*元素统计指针减1*/void input(int*v,int n) int i;*n=*n-1;return;/*元素统计指针减1*/void input(int*v,int n) int i;for(i=0;in;i+)scanf(%d,v+i);/*空表起始输入元素函数*/

8、*利用循环指针输入元素*/void output(int*v,int n) int i;for(i=0;in;i+) printf(%d,*(v+i);/*void output(int*v,int n) int i;for(i=0;inext; if(p=NULL) k=-1;return;printf(请输入线性表容量:”);scanf(%d,&m);v=inistl(m,n);printf(请输入线性表实际个数:);scanf(%d,n);printf(请输入线性表起始元素:);input(v,*n);printf(请输入线性表插入点位置:) scanf(%d,&i);printf(请输入线性表插入元素:); scanf(%d,&b);insl(v,m,n,i,b);printf(输出操作后线性表:);output(v,*n);printf(n);printf(请输入线性表删除点位置:) scanf(%d,&i);desl(v,m, n, i);printf(输出操作后线性表:);output(v,*n);printf(请输入要查找的元素); scanf(%d,&x);printf(输出操作后线性表:);printf(n);/*调用创建线性表函数/*调用创建线性表函数*/*调用线性表

温馨提示

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

评论

0/150

提交评论