資源描述:
《線性表順序存儲結(jié)構(gòu)代碼.doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、線性表順序存儲結(jié)構(gòu)算法的實現(xiàn)說明:將順序表以及在該存儲結(jié)構(gòu)上線性表的基本操作自定義成類Seqlist如下:classSeqlist{intmaxsize;//順序表的最大容量int[]data;//用于存儲順序表中的數(shù)據(jù)元素intlength;//順序表的實際數(shù)據(jù)元素的個數(shù)InitList(intsize)//初始化順序表IsFull()斷順序表是否滿IsEmpty()//判斷順序表是否空AddNode(inta)//在順序表的末尾追加數(shù)據(jù)元素DeleteNode(inti)//刪除順序表中的第i個數(shù)據(jù)SearchNod
2、e(intvalue)//在順序表中查找值為value的第一個數(shù)據(jù)元素的位置Getlength()//求順序表的實際長度Clear()//清空順序表}然后在主函數(shù)中去驗證這些算法。具體代碼如下:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceSlinelist{publicclassSeqlist{publicintmaxsize;//順序表的最大容量publicint[]data;//用于存儲順
3、序表中的數(shù)據(jù)元素publicintlength;//順序表的實際數(shù)據(jù)元素的個數(shù)//初始化順序表publicvoidInitList(intsize){maxsize=size;data=newint[maxsize];length=0;}//判斷順序表是否滿publicboolIsFull(){if(length==maxsize)returntrue;elsereturnfalse;}//判斷順序表是否空publicboolIsEmpty(){if(length==0)returntrue;elsereturnfals
4、e;}//在順序表的末尾追加數(shù)據(jù)元素publicvoidAddNode(inta){if(IsFull()){Console.WriteLine("Listisfull");return;}data[length]=a;length++;}//在順序表中的第i個位置插入一個數(shù)據(jù)元素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個數(shù)據(jù)publicvoidDeleteNode(inti){if(IsEmpty()){Console.WriteLine("Listisempty");return;}if(i<1
8、
9、i>length){Console.WriteLine("Positioniserror!");return;}
10、else{for(intj=i;j
11、
12、(i<1)
13、
14、(i>length)){Console.WriteLine("ListisemptyorPositioniserror!");return-1;}returndata[i-1];}//在順序表中查找值為value的第一個數(shù)據(jù)元素的位置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("請輸入插入的數(shù)據(jù):");key=Convert.ToInt32(Console.ReadLi