欢迎来到天天文库
浏览记录
ID:50845320
大小:45.95 KB
页数:5页
时间:2020-03-15
《线性表顺序存储结构代码.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、线性表顺序存储结构算法的实现说明:将顺序表以及在该存储结构上线性表的基本操作自定义成类Seqlist如下:classSeqlist{intmaxsize;//顺序表的最大容量int[]data;//用于存储顺序表中的数据元素intlength;//顺序表的实际数据元素的个数InitList(intsize)//初始化顺序表IsFull()断顺序表是否满IsEmpty()//判断顺序表是否空AddNode(inta)//在顺序表的末尾追加数据元素DeleteNode(inti)//删除顺序表中的第i个数据SearchNod
2、e(intvalue)//在顺序表中查找值为value的第一个数据元素的位置Getlength()//求顺序表的实际长度Clear()//清空顺序表}然后在主函数中去验证这些算法。具体代码如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceSlinelist{publicclassSeqlist{publicintmaxsize;//顺序表的最大容量publicint[]data;//用于存储顺
3、序表中的数据元素publicintlength;//顺序表的实际数据元素的个数//初始化顺序表publicvoidInitList(intsize){maxsize=size;data=newint[maxsize];length=0;}//判断顺序表是否满publicboolIsFull(){if(length==maxsize)returntrue;elsereturnfalse;}//判断顺序表是否空publicboolIsEmpty(){if(length==0)returntrue;elsereturnfals
4、e;}//在顺序表的末尾追加数据元素publicvoidAddNode(inta){if(IsFull()){Console.WriteLine("Listisfull");return;}data[length]=a;length++;}//在顺序表中的第i个位置插入一个数据元素apublicvoidInterNode(inta,inti){if(IsFull()){Console.WriteLine("Listisfull");return;}if(i<1
5、
6、i>length+1){Console.WriteLine
7、("Positioniserror");return;}else{for(intj=length-1;j>=i-1;j--)data[j+1]=data[j];data[i-1]=a;length++;}}//删除顺序表中的第i个数据publicvoidDeleteNode(inti){if(IsEmpty()){Console.WriteLine("Listisempty");return;}if(i<1
8、
9、i>length){Console.WriteLine("Positioniserror!");return;}
10、else{for(intj=i;j11、12、(i<1)13、14、(i>length)){Console.WriteLine("ListisemptyorPositioniserror!");return-1;}returndata[i-1];}//在顺序表中查找值为value的第一个数据元素的位置publicintSearchNode(intvalu15、e){intj;if(IsEmpty()){Console.WriteLine("Listisempty!");return-1;}for(j=0;j=length)return-1;elsereturnj+1;}//求顺序表的实际长度publicintGetlength(){returnlength;}//清空顺序表publicvoidClear(){length=0;}}classProgram{staticvoidMain(strin16、g[]args){Seqlists_list=newSeqlist();s_list.InitList(10);intkey,index;intcounter=0;//插入算法的验证do{Console.WriteLine("请输入插入的数据:");key=Convert.ToInt32(Console.ReadLi
11、
12、(i<1)
13、
14、(i>length)){Console.WriteLine("ListisemptyorPositioniserror!");return-1;}returndata[i-1];}//在顺序表中查找值为value的第一个数据元素的位置publicintSearchNode(intvalu
15、e){intj;if(IsEmpty()){Console.WriteLine("Listisempty!");return-1;}for(j=0;j=length)return-1;elsereturnj+1;}//求顺序表的实际长度publicintGetlength(){returnlength;}//清空顺序表publicvoidClear(){length=0;}}classProgram{staticvoidMain(strin
16、g[]args){Seqlists_list=newSeqlist();s_list.InitList(10);intkey,index;intcounter=0;//插入算法的验证do{Console.WriteLine("请输入插入的数据:");key=Convert.ToInt32(Console.ReadLi
此文档下载收益归作者所有