版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、*實(shí)驗(yàn)題目: 順序表的基本操作 實(shí)驗(yàn)者信息:班級(jí)13007102,姓名龐文正,學(xué)號(hào)1300710226實(shí)驗(yàn)完成的時(shí)間 3:00*一、 實(shí)驗(yàn)?zāi)康膶?shí)驗(yàn)內(nèi)容阿爾(1) 掌握順序表的基本運(yùn)算,熟悉對(duì)順序表的一些基本操作和具體函數(shù)的定義。(2) 掌握順序存儲(chǔ)的概念,學(xué)會(huì)定義線性表的順序存儲(chǔ)類(lèi)型。(3) 熟悉c語(yǔ)言程序的基本結(jié)構(gòu),掌握程序中的用戶頭文件、實(shí)現(xiàn)文件和主文件之間的相互關(guān)系及各自的作用。(4) 熟悉c語(yǔ)言環(huán)境的使用及程序的輸入、編輯、調(diào)試和運(yùn)行的全過(guò)程。加深對(duì)順序存儲(chǔ)結(jié)構(gòu)的理解,逐步培養(yǎng)解決實(shí)際問(wèn)題的編程能力。二、 實(shí)驗(yàn)內(nèi)容實(shí)現(xiàn)順序表上的插入、刪除等操作。調(diào)試程序并對(duì)相應(yīng)的輸出作出分析;修改輸入
2、數(shù)據(jù),預(yù)期輸出并驗(yàn)證輸出的結(jié)果。加深對(duì)有關(guān)算法的理解。三、 算法設(shè)計(jì)與編碼1. 本實(shí)驗(yàn)用到的理論知識(shí)本次實(shí)驗(yàn)用到結(jié)構(gòu)體的定義,函數(shù)定義,具體函數(shù)的定義有:1) insert(L,i,x)在順序表的第i個(gè)元素之前插入一個(gè)新元素x.2) delete (L,i) 刪除順序表的第i個(gè)元素。3) listprint(L) 輸出順序表。2. 算法概要設(shè)計(jì)給出實(shí)驗(yàn)的數(shù)據(jù)結(jié)構(gòu)描述,程序模塊、功能及調(diào)用關(guān)系第一步:定義順序表的存儲(chǔ)結(jié)構(gòu)。第二步:編寫(xiě)順序表操作的具體函數(shù)定義。第三步:使用定義的順序表并調(diào)用順序表的一些操作,實(shí)現(xiàn)具體運(yùn)算。四、 運(yùn)行與測(cè)試(1) 運(yùn)行成功的代碼:#includestdio.h /包
3、含輸出輸入文件#define MAXSIZE 100 /宏定義#define OK 1#define OVERFLOW -2typedef int elemtype;typedef struct /定義順序表的結(jié)構(gòu)elemtype vecMAXSIZE; /順序表數(shù)據(jù)成員所占的內(nèi)存空間int last; /順序表中最后一個(gè)元素在數(shù)組中的下標(biāo),從0開(kāi)始sequenlist;/插入操作int insert(L,i,x) /在順序表的第i個(gè)元素前插入一個(gè)新的元素sequenlist *L;int i;elemtype x;int j;if(*L).last=MAXSIZE-1)printf(the
4、list is overflow!n);return 0; /溢出判斷elseif(i(*L).last+1)printf(position is not correct!n);return 0; /插入位置不正確elsefor(j=(*L).last;j=i-1;j-)/后移元素(*L).vecj+1=(*L).vecj;(*L).veci-1=x;(*L).last=(*L).last+1;return 1;/刪除操作void delete(L,i) /刪除順序表的第i個(gè)元素sequenlist *L;int i;int j;if(i(*L).last+2)printf(delte fai
5、ln);elsefor(j=i;j=(*L).last;j+)(*L).vecj-1 = (*L).vecj;/前移元素覆蓋掉前面元素即可刪除要?jiǎng)h除的函數(shù)(*L).last-; /修改last的值/定義一個(gè)定位函數(shù)locate(L,k)sequenlist *L;int j;for(j=0;j=(*L).last;j+)if(*L).vecj=k)printf(該元素位序?yàn)椋?dn,j);return j; return -2; /逆置函數(shù)定義diverse(L)sequenlist *L; int i,t; sequenlist *a; for(i=0;i=(*L).last/2;i+) t
6、=(*L).veci; (*L).veci=(*L).vec(*L).last-i; (*L).vec(*L).last-i=t; /刪除重復(fù)函數(shù)定義delsame(L)sequenlist *L;int i,j,k;for(i=0;i=(*L).last;i+) for(j=i+1;j=(*L).last;j+) if(*L).veci=(*L).vecj)for(k=j;k (*L).last;k+) (*L).veck = (*L).veck+1; (*L).last-; /輸出線性表void listprint(sequenlist *L)int i;for(i=0;iveci); m
7、ain() sequenlist sl=1,2,3,4,5,6,7,8,9,10,9;/直接給順序表賦初值 sequenlist *L;/*定義一個(gè)指向順序表類(lèi)型的指針變量*/ int i,j,x,k; elemtype e; L=&sl; /*給指針變量賦值*/ printf(please input the insert position and insert valuen); scanf(%d,%d,&i,&x); printf(the insert position: %d ninsert value:%dn,i,x); insert(L,i,x); listprint(L); pri
8、ntf(please intput the delete position:); scanf(%d,&j); delete(L,j); listprint(L); printf(請(qǐng)輸入要查找的元素!n); scanf(%d,&k); locate(L,k); printf(逆置n); diverse(L); listprint(L); printf(刪除重復(fù)n); delsame(L); listprint(L);(2) 在調(diào)試程序的過(guò)程中遇到什么問(wèn)題,是如何解決的?在錯(cuò)誤提示行雙擊跳到錯(cuò)誤行,并查看錯(cuò)誤類(lèi)型(3) 設(shè)計(jì)了那些測(cè)試數(shù)據(jù)?測(cè)試結(jié)果是什么?(4) 程序運(yùn)行的結(jié)果如何?五、 總結(jié)和心
9、得實(shí)驗(yàn)完成后的總結(jié)和思考。此次試驗(yàn)很輕松,基本沒(méi)什么錯(cuò)誤,運(yùn)行即所得!1、 預(yù)習(xí)思考題定義一個(gè)定位函數(shù)locate(L,x),具有元素檢索的功能。當(dāng)順序表中存在一個(gè)值為x的數(shù)據(jù)元素時(shí),返回第一次找到的數(shù)據(jù)元素的位序,否則,給出一個(gè)值,表示值為x的元素不存在。在主程序中調(diào)用該函數(shù),分析操作結(jié)果。/定義一個(gè)定位函數(shù)locate(L,k)sequenlist *L;int j;for(j=0;j=(*L).last;j+)if(*L).vecj=k)printf(%dn,j);return j; return -2; 定義一個(gè)逆置函數(shù)diverse(L),把順序表進(jìn)行逆置。在主程序中調(diào)用該函數(shù),分析操作結(jié)果。/逆置函數(shù)定義diverse(L)sequenlist *L; int i,t; sequenlist *a; for(i=0;i=(*L).last/2;i+) t=(*L).veci; (*L).veci=(*L).vec(*L).last-i; (*L).vec(*L).last-i=t; 定義一個(gè)函數(shù)delsame(L),把順序表中重復(fù)的元素刪除掉,只保留一個(gè)。在主程序中調(diào)用該函數(shù),分析操作結(jié)果。/刪除重復(fù)函數(shù)定義delsame(L)sequenlist *L;int
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025廣東省超康投資有限公司招聘副總經(jīng)理1人(公共基礎(chǔ)知識(shí))綜合能力測(cè)試題附答案
- 2026廣東東莞市沙田鎮(zhèn)社區(qū)衛(wèi)生服務(wù)中心第一期招聘納入崗位管理編制外人員4人筆試模擬試題及答案解析
- 2025年河北石家莊平山縣公開(kāi)選調(diào)機(jī)關(guān)事業(yè)單位工作人員28名備考題庫(kù)附答案
- 2025廣西河池都安瑤族自治縣公開(kāi)招聘國(guó)有企業(yè)領(lǐng)導(dǎo)班子人員2考前自測(cè)高頻考點(diǎn)模擬試題附答案
- 2025年陜西省第二人民醫(yī)院招聘(3人)考試參考題庫(kù)附答案
- 2025廣東廣州醫(yī)科大學(xué)呼吸疾病全國(guó)重點(diǎn)實(shí)驗(yàn)室辦公室招聘編外人員1名(公共基礎(chǔ)知識(shí))測(cè)試題附答案
- 2025年11月重慶市萬(wàn)州區(qū)太白街道辦事處公益性崗位招聘6人(公共基礎(chǔ)知識(shí))測(cè)試題附答案
- 2026四川自貢市第一人民醫(yī)院招聘醫(yī)療輔助崗人員10人筆試備考試題及答案解析
- 2026中國(guó)科學(xué)院力學(xué)研究所超常環(huán)境非線性力學(xué)全國(guó)重點(diǎn)實(shí)驗(yàn)室辦公室管理人員招聘1人筆試備考試題及答案解析
- 2025秋人教版道德與法治八年級(jí)上冊(cè)7.2踐行平等課件
- 棄渣場(chǎng)使用規(guī)劃方案
- 滑坡穩(wěn)定性評(píng)價(jià)
- TTSSP 045-2023 油茶果機(jī)械化爆蒲及油茶籽干制加工技術(shù)規(guī)程
- JCT 871-2023 鍍銀玻璃鏡 (正式版)
- 2024年廣東深圳市龍崗區(qū)南灣街道綜合網(wǎng)格員招聘筆試沖刺題(帶答案解析)
- 《兒科護(hù)理學(xué)》課件-兒童健康評(píng)估特點(diǎn)
- 廣東省深圳市南山區(qū)2023-2024學(xué)年六年級(jí)上學(xué)期期末科學(xué)試卷
- 臨床研究數(shù)據(jù)清洗與質(zhì)量控制
- 基礎(chǔ)拓?fù)鋵W(xué)講義答案尤承業(yè)
- 1種植業(yè)及養(yǎng)殖業(yè)賬務(wù)處理及科目設(shè)置
- 淺析幼小銜接中大班幼兒時(shí)間觀念的培養(yǎng)對(duì)策 論文
評(píng)論
0/150
提交評(píng)論