下载此文档

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


文档分类:办公文档 | 页数:约17页 举报非法文档有奖
1/17
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/17 下载此文档
文档列表 文档介绍
线性表的创建插入和删除的操作实验内容:线性表的创建、插入删除等#include""#include""int*inistl(intm,int*n)/*建立线性表函数*/{int*v=NULL;v=malloc(m*sizeof(int*));/*创建链表,并把首地址赋给指针V*/n=0;returnv;}voidinsl(int*v,intm,int*n,inti,intb)/*在链表指定位置插入元素b*/{intj;if(*n>=m)/*检查是否链表溢出*/{printf("thestackisoverflow\n");return;}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;*n=*n+1;/*插入后元素统计指针加1*/}voiddesl(int*v,intm,int*n,inti)/*线性表删除函数*/{intj;if(*n==0)/*判断线性表是否为空*/{printf("thestackisunderflow\n");return;}if((i<1)||(i>*n))/*删除点在首部以前和尾部以后特殊情况排除*/{printf("notthiselementinthelist!");return;}for(j=i;j<=*n-1;j++)/*在允许位置做删除操作*/v[j-1]=v[j];*n=*n-1;/*元素统计指针减1*/return;})voidinput(int*v,intn)/*空表起始输入元素函数*/{inti;for(i=0;i<n;i++/*利用循环指针输入元素*/scanf("%d",v+i);}voidoutput(int*v,intn)/*线性表输出打印函数*/{inti;for(i=0;i<n;i++)printf("%d",*(v+i));/*指针移动指向下一个节点依次输出元素*/}voidmain()/*主函数(功能调用函数)*/{int*v,m,*n,i,b;/*v链表空间首地址m线性表容量n线性表实际元素i改变线性表元素位置b插入或删除元素*/n=(int*)malloc(sizeof(int));/*开辟链表空间*/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("\n");}initsl(intm,intn){int*v=NULL;v=malloc(m*sizeof(int));returnv;}voidinsl(intv,intn,intm,inti,intb){if(*n==m){printf("overflow\n");return;}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;*n=*n+1;return;}voiddesl(intm,int*n,intv,inti){if(*n==0){printf("underflow\n");return;if((i<1)||(i>*n)){printf("Notthiselement")input(int*v,intn){ for(i=0;i<*n;i++) scanf("%d",v+i);}output(intv,int*n){ for(i=0;i<*n;i++) printf("%d",v+i);}voidmain(){int*v=NULL,m,*n=NULL,i,b;n=malloc(sizeof(int));printf("请输入空间容量:");scanf("%d",&m);v=initsl(m,n);printf(

线性表的创建插入和删除的操作 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数17
  • 收藏数0 收藏
  • 顶次数0
  • 上传人yixingmaoh
  • 文件大小75 KB
  • 时间2019-08-20