資源描述:
《掌握線性表的基本操作:插入、刪除、查找在順序存儲(chǔ)結(jié)構(gòu)上的實(shí)現(xiàn)。.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、洛陽(yáng)理工學(xué)院實(shí)驗(yàn)報(bào)告系部計(jì)算機(jī)系班級(jí)B學(xué)號(hào)B姓名李滿意課程名稱數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)日期2013.03.13實(shí)驗(yàn)名稱順序表的基本操作成績(jī)實(shí)驗(yàn)?zāi)康模赫莆站€性表的基本操作:插入、刪除、查找在順序存儲(chǔ)結(jié)構(gòu)上的實(shí)現(xiàn)。實(shí)驗(yàn)條件:電腦一臺(tái),VC++6.0軟件。實(shí)驗(yàn)內(nèi)容與算法思想:內(nèi)容:建立一有序的順序表,并實(shí)現(xiàn)下列操作:1.把元素x插入表中并保持有序;2.查找值為x的元素,若找到將其刪除;3.輸出表中各元素的值。算法思想:在一順序存儲(chǔ)結(jié)構(gòu)的程序的主函數(shù)中利用switch語(yǔ)句實(shí)現(xiàn)多分支選擇結(jié)構(gòu)。程序的主要部分還有主函數(shù)中switc
2、h語(yǔ)句對(duì)輸入數(shù)據(jù)(輸入插入元素)函數(shù)、刪除元素函數(shù)、輸出已有元素函數(shù)的調(diào)用。其中在輸入數(shù)據(jù)(輸入插入元素)函數(shù)中先將元素插入到順序表的表尾,再進(jìn)行排序。實(shí)驗(yàn)總結(jié):這是本學(xué)期的第一次試驗(yàn),也是數(shù)據(jù)結(jié)構(gòu)的第一次試驗(yàn),經(jīng)過試驗(yàn)對(duì)數(shù)據(jù)結(jié)構(gòu)有了初步的了解,也培養(yǎng)了自己對(duì)數(shù)據(jù)結(jié)構(gòu)的興趣、增進(jìn)了編程的能力。經(jīng)過這次順序存儲(chǔ)程序的編程實(shí)驗(yàn),對(duì)順序存儲(chǔ)有了更深刻的理解。附:源程序:#include#defineERROR0#defineOK1#defineMAXSIZE100typedefintElemTy
3、pe;typedefstruct{ElemTypeelem[MAXSIZE];intlast;}SeqList;voidinsert(SeqList*L){intelem;inti,j,k,t;intflag=1;printf("請(qǐng)輸入數(shù)據(jù):");while(flag){scanf("%d",&elem);if(elem==-1)break;if(L->last>MAXSIZE-1){printf("順序表已滿!");return;}L->last++;L->elem[L->last]=elem;}
4、k=L->last;for(j=0;jelem[i]>L->elem[i+1]){t=L->elem[i];L->elem[i]=L->elem[i+1];L->elem[i+1]=t;}}intDelList(SeqList*L,intkey){inti;intk;if(L->last<0){returnERROR;}for(i=0;i<=L->last;i++){if(L->elem[i]==key){for(k=i;klast;k+
5、+)L->elem[k]=L->elem[k+1];L->last--;returnOK;}}returnERROR;}voidprintSeq(SeqList*L){inti;if(L->last<0){printf("沒有任何元素!");}for(i=0;i<=L->last;i++){printf("%4d",L->elem[i]);if((i+1)%8==0){printf("");}}printf("");}voidmain(){intchoice;intflag=1;intkey;S
6、eqListL;SeqList*pL=&L;pL->last=-1;printf("0.退出");printf("1.輸入數(shù)據(jù)(輸入插入元素)");printf("2.刪除元素");printf("3.輸出已有元素");printf("請(qǐng)輸入選項(xiàng):");while(flag){printf("請(qǐng)輸入選項(xiàng):");scanf("%d",&choice);switch(choice){case1:insert(pL);break;case2:printf("請(qǐng)輸入要?jiǎng)h除的元素:");scanf("
7、%d",&key);if(DelList(pL,key)){printf("刪除成功!");}elseprintf("輸入的i,k值不合法!");break;case3:printSeq(pL);break;case0:flag=0;break;default:printf("請(qǐng)輸入正確的選項(xiàng)序號(hào)!");}}}