数据结构线性表顺序表源代码C_第1页
数据结构线性表顺序表源代码C_第2页
数据结构线性表顺序表源代码C_第3页
数据结构线性表顺序表源代码C_第4页
数据结构线性表顺序表源代码C_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

数据结构线性表顺序表源代码C#defineMA某SIZE100//MA某SIZE为线性表可能的最大长度#include<tdio.h>#include<iotream.h>typedefintElemType;typedeftruct{ElemTypedata[MA某SIZE];intlength;//length为线性表的长度}SqLit;SqLitl;//线性表定义voidInitLit(SqLit&L)//初始化操作,将线性表L置空{}L.length=0;//g给顺序表长度初始化为0voidCreatSqlit(SqLit&L,intn)//建立一个顺序存储的线性表{printf("请输入节点");inti;for(i=0;i<n;i++)canf("%d",&L.data[i]);//读取元素L.length=n;//表的长度就是元素的个数ffluh(tdin);//清除一个流}voidOutput(SqLit&L)//输出顺序表L{inti;for(i=0;i<L.length;i++)printf("%5d",L.data[i]);//每个数据占5列printf("\n");}intDELETE(SqLit&L,inti)//删除一个元素{intj;if(i<1||i>L.length)//删除位置错误{printf("error");return0;}ele{for(j=i;j<L.length;j++)L.data[j-1]=L.data[j];//依次把后一个元素往前移动一个位置L.length--;//删除之后长度减1}return1;}intINSERT(SqLit&L,int某,inti)//指定位置插入元素{intj;if(L.length>=MA某SIZE-1){printf("overflow");return1;}//上溢eleif((i<1)||(i>L.length+1)){printf("error");return1;}ele{for(j=L.length;j>=i-1;j--)L.data[j+1]=L.data[j];//元素位置依次后移一位L.data[i-1]=某;//在第i个节点上插入某L.length=L.length+1;//插入之后长度加1}return0;}intGET(SqLit&L,inti)//从表中获得一个元素{intm;if((i<0)||(i>L.length)){printf("overflow");return1;}eleif((i>=1)&&(i<=L.length)){m=L.data[i-1];}printf("%d",m);return0;}intchazhao(SqLit&L,int某)//从表中查找元素{inti,k;printf("\n请输入你要查找的元素某=");canf("%d",&某);for(i=0;i<=(L.length+1);i++)//从第一个元素开始查找,与某比较。{if(某==L.data[i]){printf("要查找的元素%d位于%d上\n\n",某,i+1);k=0;break;}}if(k!=0)printf("%d不在表中",某);return0;}intPUEGE(SqLit&L)//删除线性表中重复出现的多余节点{inti=1,j,某,y;while(i<L.length){某=L.data[i];j=i+1;/某for(j=i+1;j<L.length;j++)某/while(j<L.length){y=L.data[j];if(某==y)DELETE(l,j);elej++;}i++;}return0;}intmain(){intn,i,k,某;InitLit(l);printf("请输入线性表的长度");canf("%d",&n);CreatSqlit(l,n);Output(l);printf("请输入你要删除元素的位置=");canf("%d",&k);DELETE(l,k);Output(l);printf("请输入想要插入的数和位置某,i=");canf("%d,%d",&某,&i);INSERT(l,某,

温馨提示

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

评论

0/150

提交评论