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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

2、 MAXNUM 11#define true 1#define false 0typedef struct int dataMAXNUM; int length;list_type; void createlist(list_type *lp);void printlist(list_type *lp);int insertlist(list_type *lp,int i,int x);int deletelist(list_type *lp,int i);void delete_neg_num(list_type *lp);int main() list_type list; int a,d

3、ata,k; createlist(&list); printlist(&list);printf(n輸入要插入的位置an);scanf(%d,&a);printf(n輸入要插入的數(shù)據(jù)datan);scanf(%d,&data); insertlist(&list,a,data); printlist(&list); printf(n輸入要刪除的位置k:); scanf(%d,&k);deletelist(&list,k); printlist(&list); delete_neg_num(&list); printlist(&list); printf(n若執(zhí)行成功,輸入1;若執(zhí)行失敗,輸入

4、0); return(scanf(%d,&k);/*從鍵盤讀入一組整數(shù)(長度小于等于11),按輸入順序放入順序表,輸入以1結束*/void createlist(list_type *lp) int i, elem; lp-length=0; printf(n please input datas of the listn); for(i=0; idatai=elem; lp-length+; /*將創(chuàng)建好的順序表元素依次輸出到屏幕上*/void printlist(list_type *lp) int i; printf(nThese %d records are:n, lp-length)

5、; if(lp-length=0) printf(No data!n); return; for(i=0; ilength; i+) printf( %d , lp-datai); printf(nlength of the list is:%d, lp-length);/*在已創(chuàng)建好的順序表中插入一個元素*/int insertlist(list_type *lp,int i,int x) int j;if(lp-length=MAXNUM) printf(the list is fall,can not insert.); return(false); if(ilp-length) pri

6、ntf(i is invalid value); return(false); for(j=lp-length-1;j=i;j-) lp-dataj+1=lp-dataj; lp-datai=x; lp-length+; return(true); for(i=0; ilength; i+) printf( %d , lp-datai); printf(nlength of the list is:%d, lp-length);/*在已創(chuàng)建好的順序表中刪除一個元素*/int deletelist(list_type *lp,int i)int j; if(ilp-length-1) print

7、f(i is invalid value); return(false); for(j=i+1;jlength;j+) lp-dataj-1=lp-dataj; lp-length-; return(true); for(i=0; ilength; i+) printf( %d , lp-datai); printf(nlength of the list is:%d, lp-length);/*刪除順序表中元素值為負數(shù)的所有元素*/void delete_neg_num(list_type *lp) int i,j;for(i=lp-length-1;i=0;i-)if(lp-datai0)

8、for(j=i;jlength;j+)lp-dataj=lp-dataj+1;lp-length-; 典型測試數(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 插入位置:4 0 12 插入數(shù)據(jù):5 5 5 刪除元素位置:4 0 12應輸出(上機前自己分析的結果): 輸入: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 -1 it is invalid value 元素刪除;:5 4 3 2 0

9、-2 -3 1 6 4 3 2 0 -2 -3 1 6 it is invalid value 負數(shù)元素刪除:5 4 3 2 0 1 6上機時遇到的問題: 該編譯系統(tǒng)main函數(shù)必須返回int型返回值 解決辦法:編寫返回int型返回值語句 printf(n若執(zhí)行成功,輸入1;若執(zhí)行失敗,輸入0); return(scanf(%d,&k); 刪除負數(shù)元素函數(shù)從頭檢查刪除一直無法解決連續(xù)負數(shù)存在的問題,存在多刪、漏刪等問題 解決辦法:請教同學,改變思路,從后往前刪要簡單一些。實際運行結果:輸入: 元素插入: 元素刪除;: 負數(shù)元素刪除:ex1_2:p74第9題(用順序表實現(xiàn))#include#de

10、fine MAXMUM 88typedef struct int dataMAXMUM; int num;listtype;void createlist(listtype *l);void printlist(listtype *l);int insertlist(listtype *l,int x);int main() listtype list; int data,k; createlist(&list); printlist(&list); printf(n請輸入要插入的元素datan); scanf(%d,&data); insertlist(&list,data); printl

11、ist(&list); printf(n若執(zhí)行成功,輸入1;若執(zhí)行失敗,輸入0.n); return(scanf(%d,&k);/*輸入表的前elenum個分量*/void createlist(listtype *l) int i,elem,j; l-num=0; printf(請輸入現(xiàn)有元素個數(shù)n); scanf(%d,&elem); printf(n 請按順序輸入表前%d 個數(shù)據(jù):n, elem); for(i=0; idatai=j; l-num+; /*將創(chuàng)建好的順序表元素依次輸出到屏幕上*/void printlist(listtype *l) int i; printf(n 這

12、%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 insertlist(listtype *l,int x) int i,j; for(i=0; inum; i+) if(l-dataix) for(j=l-num-1;j=i;j-) l-dataj+1=l-dataj; l-datai=x; l-num+; return(true); 典型測試數(shù)據(jù) 元素個數(shù):8 輸入 :1 3 5 6 9 10 11 17 1 3 5 6 9 10 11 17 20 插入元素:0 7 18 6應輸出:輸入 :1 3 5 6 9 10 11 17 1 3 5 6 9 10 11 17 插入元素:01 3 5 6 9 10 11 17 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 上機時遇到的問題:

溫馨提示

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

評論

0/150

提交評論