順序表上機實驗報告_第1頁
順序表上機實驗報告_第2頁
順序表上機實驗報告_第3頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、上機實驗報告學(xué)生姓名:暢京博學(xué)號:上機實驗一順序表:ex1_11) 首先創(chuàng)建一個順序表:從鍵盤讀入一組整數(shù)(長度小于等于11),按輸入順序放入順序表,輸入以-1結(jié)束(注意-1不放到順序表內(nèi));將創(chuàng)建好的順序表元素依次輸出到屏 幕上。2) 在已創(chuàng)建好的順序表中插入一個元素:從鍵盤讀入需插入的元素值和插入位置 ,調(diào)用插入函數(shù)完成插入操作;然后將順序表元素依次輸出到屏幕上。3) 在已創(chuàng)建好的順序表中刪除一個元素:從鍵盤讀入欲刪除的元素位置 (序號),調(diào)用刪除函數(shù)完成刪除操作;然后將順序表元素依次輸出到屏幕上。4) 刪除順序表中元素值為負(fù)數(shù)的所有元素,然后將順序表元素依次輸出到屏幕上。#in clud

2、e#defi ne MAXNUM 11#defi ne true 1#defi ne false 0typedef structint dataMAXNUM;int len gth;list_type;void createlist(list_type *lp);void prin tlist(list_type *lp);int in sertlist(list_type *lp,i nt i,i nt x);int deletelist(list_type *lp,i nt i);void delete_ neg_nu m(list_type *lp); int mai n()list_t

3、ype list;int a,data,k;createlist(&list);an);datan);prin tlist(&l ist);prin tf(n輸入要插入的位置scan f(%d,&a);prin tf(n輸入要插入的數(shù)據(jù)scan f(%d, &data);in sertlist( & list,a,data);prin tlist(&l ist);prin tf(n輸入要刪除的位置scan f(%d,&k);deletelist(&list,k);prin tlist(&l ist);delete _neg_num(&list);prin tlist(&l ist);print

4、f(n若執(zhí)行成功,輸入1;若執(zhí)行失敗,輸入0);return(sca nf(%d,&k);/*從鍵盤讀入一組整數(shù)(長度小于等于11),按輸入順序放入順序表,輸入以1結(jié)束*/void createlist(list_type *lp)int i, elem;lp-le ngth=O;prin tf(n please in put datas of the list n);for(i=0; idatai=elem;lp-le ngth+;/*將創(chuàng)建好的順序表元素依次輸出到屏幕上*/void prin tlist(list_type *lp)int i;prin tf(nThese %d recor

5、ds are:n, lp-le ngth);if(lp-le ngth=0)prin tf(No data!n);return;for(i=0; ile ngth; i+)printf( %d , lp-datai);prin tf(nle ngth of the list is:%d, lp-le ngth); /*在已創(chuàng)建好的順序表中插入一個元素*/int in sertlist(list_type *lp,i nt i,i nt x)int j;if(lp-le ngth=MAXNUM)prin tf(the list is fall,ca n n ot in sert.); retur

6、n(false);if(ilp-le ngth)printf(i is in valid value);return(false);for( j=lp-length-1;j=i;j-)lp-dataj+1=lp-dataj;lp_datai=x;lp-le ngth+;return(true);for(i=0; ile ngth; i+)prin tf( %d , lp-datai);prin tf(nle ngth of the list is:%d, lp-le ngth);/*在已創(chuàng)建好的順序表中刪除一個元素*/int deletelist(list_type *lp,i nt i)in

7、t j;if(ilp-le ngth-1)prin tf(i is in valid value);return(false);for( j=i+1;jlength;j+)Ip-data j-1=lp-data j;lp-le ngth-;return(true);for(i=0; ile ngth; i+)printf(” %d , lp-datai);prin tf(nlength of the list is:%d, lp-le ngth);/*刪除順序表中元素值為負(fù)數(shù)的所有元素*/void delete_ neg_nu m(list_type *lp)int i,j;for(i=lp-

8、le ngth_1;i=O;i_)if(lp-datai0)for( j=i;jlength;j+)lp-dataj=lp-dataj+1;lp-le ngth-;典型測試數(shù)據(jù)輸入: 5 4 3 2 0 -2 -3 1 6 -1 5 4 3 2 1 0 9 8 7 4 2 1 4 6插入位置:4012插入數(shù)據(jù):555刪除元素位置:4012應(yīng)輸出(上機前自己分析的結(jié)果):輸入: 5 4 3 2 0 -2 -3 1 6 5 4 3 2 1 0 9 8 7 4 2元素插入: 5 4 3 2 5 0 -2 -3 1 6 5 5 4 3 2 0 -2 -3 1 6 -1value元素刪除;: 5 4 3

9、 2 0 -2 -3 1 64 3 2 0 -2 -3 1 6 it is負(fù)數(shù)元素刪除:5 4 3 2 0 1 6上機時遇到的問題: 該編譯系統(tǒng) main函數(shù)必須返回int型返回值解決辦法:編寫返回int型返回值語句printf(n若執(zhí)行成功,輸入1;若執(zhí)行失敗,輸入0);return(sca nf(%d, &k); 刪除負(fù)數(shù)元素函數(shù)從頭檢查刪除一直無法解決連續(xù)負(fù)數(shù)存在的問題漏刪等問題解決辦法:請教同學(xué),改變思路,從后往前刪要簡單一些。實際運行結(jié)果: it is in validin valid value,存在多刪、輸入:pie3lsr input datas of tlie list E

10、4 3 2 0 -2 -3 1 6 -1Ihese 9 records are:54320-2-3 1Cllrngth cj多 theplease input data of the list54321098742146I lies e 11 records are :5432 丄 098742元素插入:椚入要插入的位置冠輸人要插入的位萱?zhèn)?2輸入要插入的數(shù)據(jù)氏2侖入要插入的數(shù)據(jù)恥3These 1邸 records *i*&:543250-2length of the list is:16.i is inualid value -316trhese 10 records are: 1&-132

11、0-2-31len肚i of 七he list iw:!元素刪除;:齣入要刪除的位萱心2負(fù)數(shù)元素刪除These 7 records are:5432016length of the list is:7ex1_2:p74第9題(用順序表實現(xiàn))#in cludeBAS刪除射位置k*i is invalid, value#defi ne MAXMUM 88 typedef structint dataMAXMUM;int num;listtype;void createlist(listtype *l);void prin tlist(listtype *l);int in sertlist(lis

12、ttype *l,i nt x);int mai n()listtype list;int data,k;createlist(&list);prin tlist(&l ist);prin tf(n請輸入要插入的元素datan);scan f(%d, &data);in sertlist (&list,data);prin tlist(&l ist);printf(n若執(zhí)行成功,輸入1;若執(zhí)行失敗,輸入O.n);return(sca nf(%d,&k);/*輸入表的前elenum個分量*/ void createlist(listtype *l)int i,elem,j;l-num=0;pri

13、ntf(請輸入現(xiàn)有元素個數(shù)n);sca nf(%d, &elem);printf(n請按順序輸入表前%d個數(shù)據(jù):n, elem);for(i=0; idatai=j;l_nu m+;/*將創(chuàng)建好的順序表元素依次輸出到屏幕上*/void prin tlist(listtype *l)int i;printf(n 這 %d 個數(shù)據(jù)是:n, l-num);if(l-num=0)printf(”沒有元素存在!n);return;for(i=0; inum; i+)printf( %d , l-datai);/*在已創(chuàng)建好的順序表中插入一個元素*/int in sertlist(listtype *l,

14、i nt x)int i,j;for(i=0; inum; i+)if(l-dataix)for(j=l-nu m_1;j=i;j_)l-dataj+1=l-dataj;l-datai=x;l_nu m+;return(true);典型測試數(shù)據(jù)元素個數(shù):8輸入: 1 3 5 6 9 10 11 17 1 3 5 6 9 10 11 17 20插入元素:0718應(yīng)輸出:輸入: 1 3 5 6 9 10 11 173 5 6 9 10 11 17插入元素:01 3 5 6 9 10 1117 1 3 5 6 7 9 10 11 17 1 3 5 6 9 10 11 17 18 1 3 5 6 6 9 10 11 17上機時遇到的問題:該編譯系統(tǒng) main函數(shù)必須返回int型返回值解決辦法:編寫返回int型返回值語句printf(n若執(zhí)行成功,輸入1 ;若執(zhí)行失敗,輸入0);return(sca nf(%d, &k);若一次輸入個數(shù)大于剛開始規(guī)定的數(shù)目,最先多出來的一個元素會會被當(dāng)做插入元素解決辦法:剛開始輸入原元素時要注意數(shù)目實際運行結(jié)果:輸入:愴輸入現(xiàn)有元素個數(shù)8請按順序輸入表

溫馨提示

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

最新文檔

評論

0/150

提交評論