2023年數(shù)據(jù)結(jié)構(gòu)順序表實(shí)驗(yàn)報(bào)告_第1頁
2023年數(shù)據(jù)結(jié)構(gòu)順序表實(shí)驗(yàn)報(bào)告_第2頁
2023年數(shù)據(jù)結(jié)構(gòu)順序表實(shí)驗(yàn)報(bào)告_第3頁
2023年數(shù)據(jù)結(jié)構(gòu)順序表實(shí)驗(yàn)報(bào)告_第4頁
2023年數(shù)據(jù)結(jié)構(gòu)順序表實(shí)驗(yàn)報(bào)告_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

洛陽理工學(xué)院實(shí)驗(yàn)報(bào)告系別計(jì)算機(jī)班級學(xué)號(hào)姓名課程名稱數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)日期10/23實(shí)驗(yàn)名稱順序表的基本操作成績實(shí)驗(yàn)?zāi)康模菏煜ふ莆站€性表順序存儲(chǔ)結(jié)構(gòu),掌握與應(yīng)用順序表的查找、插入、刪除等基本操作算法,訓(xùn)練和提高結(jié)構(gòu)化程序設(shè)計(jì)能力及程序調(diào)試能力。實(shí)驗(yàn)條件:計(jì)算機(jī)一臺(tái),Visua1C++6.0實(shí)驗(yàn)內(nèi)容:.問題描述以順序表為存儲(chǔ)結(jié)構(gòu)實(shí)現(xiàn)以下基本操作:在第i個(gè)元素前插入一個(gè)新元素。查找值為x的某個(gè)元素。若成功,給出x在表中的位置;不成功給出提醒信息。刪除第i個(gè)元素,若成功,給出提醒信息并顯示被刪元素的值;不成功給出失敗的提醒信息。.數(shù)據(jù)結(jié)構(gòu)類型定義typedefstruct{ElemTypee1em[MAXSIZE];Int1ast;}SeqList;3.模塊劃分(1)創(chuàng)建順序表輸入函數(shù):voidInput(SeqList*L,intn);(2)創(chuàng)建順序表輸出函數(shù):voidOutput(SeqList*L);(3)創(chuàng)建順序表的內(nèi)容查找函數(shù):intLocate(SeqListL,ElemTypee);(4)創(chuàng)建順序表的插入函數(shù):intInsList(SeqList*L,inti,E1emTypee);(5)創(chuàng)建順序表的刪除函數(shù):intDelList(SeqList*L,inti,ElemType*e);(6)主函數(shù):voidmain()4.具體設(shè)計(jì)include<stdio.h>inelude<std1ib.h>include<maHoc.h>defineOK1defineERROR-1defineTRUE1defineFALSE0#defineElemTypeint#defineoMAXSIZE100〃最大長度typedefstruct{oElemTypeelem[MAXSIZE];intlast;}SeqList;voidInput(SeqList*L,intn)〃輸入函數(shù){inti;printf(〃請輸入線性表的各元素值:\n〃);for(i=0:i<n;i++)scanf("%dz,,&L->elem[i]);)voidOutput(SeqList*L)〃輸出函數(shù){inti;for(i=0;i<=L->last;i++)。printf(,,%2d,,z,L->elem[i]);printf(〃\n〃);)intLocate(SeqListL,ElemTypee)〃內(nèi)容查找函數(shù){ointi;i=0;while((i<=L.last)&&(L.e1em[i])!=e)i++;if(i<=L.last)return(i+1);//返回序號(hào)elsereturn(-1);)intInsList(SeqList*L,inti,E1emTypee)//插入數(shù)據(jù){intk;。if((i<1)||(i>L—>last+2))/*一方面判斷插入位置是否合法*/{叩rint「(〃插入位置不合法\n〃);。return(ERR0R);)if(L->1ast>=MAXSIZE-1)。{叩rintf(〃表已滿無法插入〃);oreturn(ERROR);)ofor(k=L->1ast;k>=i-l;k—)//為插入元素而移動(dòng)位置—>elem[k+l]=L->elem[k];0L->e=e;〃第i個(gè)元素的下標(biāo)為i-1I->last++;oreturn(OK);)intDe1List(SeqListe=L->elem[i-1];/*將刪除的元素存放到ee=L->elem[i-1];/*將刪除的元素存放到e所指向的變量中*/for(k=i;k<=L->last;k++)L->elem[k-1]=L->elcm[k];/*將后面的元素依次前移*/aL—>last-;。oreturn(TRUE);}voidmain。//主函數(shù){SeqList1,*1a;◎intp,q,r,k,j,m,num;函數(shù)/*在順序表L中刪除第i個(gè)數(shù)據(jù)元素,并用指針參數(shù)e返回其值。i的合法取值為IWiWL.last+1*/{0intk;。if((i<l)|I(i>L->last+D){oprintf(〃刪除位置不合法!\n〃);。*return(ERROR);

Printf(〃請輸入線性表的長度:”的?scanf("%d〃,&r);1ast=r-1;a=&1;Input(la,1a->last+1);Output(la);〃按內(nèi)容查找元素叩rintf(〃請輸入要查找的元素值:\n“);?scanf(〃%d〃,&q);?p=Locate(Lq);if(p==—1)個(gè)rintf(〃在此線性表中沒有該元素!\n”);elseprintf(〃該元素在線性表中的位置為:%d\n〃,p);//插入元素(在i處插入元素e)sprintf("請輸入要插入的位置:\n");scanf(〃%d",&k);printf('?請輸入要插入的元素值:\n〃);oscanf(〃%d〃,&j);InsList(1a,k,j);//調(diào)用插入函數(shù)。utput(la);〃刪除元素刪除第i個(gè)元素。printf(〃請輸入需要?jiǎng)h除的元素的位置:\n”);scanf("%d",&m);。De1List(1a,m,&num);oprintfC刪除成功,刪除的元素為/d〃,num);printf(〃\n");Output(la);o)5.測試數(shù)據(jù)及結(jié)果"C:\Users\mypc\DesktopVI3D^^\Debug\Y.exe'值值:5素請輸入要餐莪的片素值;?"CAUsersXmypcXDesktopVI^J^^XDebugXY.exe"請物入線性表的歸度:7請瑞入線桂表的客元素值:23567532.3.5,6,7,5.3,請輸入要查找的元素值:黯建獻(xiàn)嘉鶻置為:1請輸入要插入的元素值:902,3,90,5,6,7?5,3.請輸入需要?jiǎng)h除的元素的位置:2刪除成功,刪除的元素為32.90.5,6,7,5,3>Pres

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論