




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)報(bào)告院系 應(yīng)用科技學(xué)院 專(zhuān)業(yè) 電子信息工程 姓名 陳高雪 學(xué)號(hào)410 級(jí) 電信 班 2011 年 10 月 11日1.實(shí)驗(yàn)?zāi)康?.掌握線性表的基本運(yùn)算。2.掌握順序村存儲(chǔ)的概念,學(xué)會(huì)對(duì)順序存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)進(jìn)行操作。3.加深對(duì)順序存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)的理解,逐步培養(yǎng)解決實(shí)際問(wèn)題的編程能力。2.需求分析要求用c語(yǔ)言編寫(xiě)一個(gè)演示程序,首先建立一個(gè)空表,然后根據(jù)用戶選擇,能夠在線性表的任意位置實(shí)現(xiàn)插入元素、刪除元素、初始化線性表、查找某一元素的在線性表中得位置。(1)建立線性表的功能l 輸入的形式和輸入的范圍:調(diào)用出入函數(shù),輸入插入的位置和數(shù)值,用逗號(hào)隔開(kāi)l 輸出的形式:調(diào)用
2、輸出函數(shù),按順序輸出線性表所插入的值,以及所對(duì)應(yīng)功能的值。(2)插入功能l 輸入的形式和輸入值的范圍:輸入一個(gè)表示位置的正整數(shù)和一個(gè)表示插入元素值的正整數(shù),兩個(gè)正整數(shù)之間用逗號(hào)隔開(kāi),出入位置的和法取值范圍是1<size<size+1。l 輸出的形式:如果輸入的參數(shù)合法,則按順序顯示插入后的線性表,否則顯示錯(cuò)誤。(3)刪除功能l 輸入的形式和輸入值的范圍:輸入一個(gè)表示刪除位置或要?jiǎng)h除的元素值的正整數(shù),刪除位置或刪除元素值的取值范圍是1<sizee<size+1或線性表中的元素,否則顯示參數(shù)錯(cuò)誤的信息。l 輸出的形式:如果輸入?yún)?shù)合法,則按順序顯示刪除后線性表中的各個(gè)元素值
3、,否則顯示參數(shù)錯(cuò)誤的信息。(4)查找功能l 輸入的形式和輸入值的范圍:輸入一個(gè)要查找的元素值,元素值的合法取值范圍是正整數(shù)。l 輸出的形式:如果存在要查找的元素,則顯示要查找元素的位置,否則顯示參數(shù)錯(cuò)誤信息。3.概要設(shè)計(jì)(1)為了實(shí)現(xiàn)上述程序功能,需要第一一個(gè)簡(jiǎn)化的線性表抽象數(shù)據(jù)類(lèi)型:Typedef struct LinearListInt *list;Int size;Int MAXSIZE;List; 基本操作:l 初始化線性表ListInit (L)操作前提:L是一個(gè)未初始化的線性表操作結(jié)果:將L初始化成一個(gè)空的線性表l 向空表指定位置插入元素 ListInsert (L)操作前提:L是
4、一個(gè)還有位置的線性表操作結(jié)果:將元素插入到指定位子并輸出線性表l 刪除指定元素值 ListDelete_1(L)操作前提:線性表L存在操作結(jié)果:將線性表中指定的元素值刪除,并輸出線性表l 刪除指定位置的元素值 ListDelete_2(L)操作前提:線性表L存在操作結(jié)果:將線性表中指定位置的元素值刪除,并輸出線性表l 查找線性表中的元素 ListFind(L)操作前提:線性表L存在操作結(jié)果:在線性表L中查找指定元素e,若存在該元素返回該元素在表中的位置,否則提示錯(cuò)誤l 輸出線性表元素 OutputList(L)操作前提:線性表存在操作結(jié)果:輸出整線性表L的所有元素值(2)本程序共有6函數(shù):l
5、主函數(shù)main()l 初始化線性表函數(shù)InitList()l 輸出函數(shù)OutputList()l 插入函數(shù)ListInsert()l 刪除函數(shù)ListDelete()l 查找函數(shù)ListFind()各函數(shù)的關(guān)系如下:l 主函數(shù)Main()調(diào)用初始化線性表函數(shù)InitList()、插入函數(shù)ListInsert()、刪除函數(shù)ListDelete()、查找函數(shù)ListFind()、查找函數(shù)ListFind()l 插入函數(shù)ListInsert()調(diào)用輸出函數(shù)OutputList(L)l 刪除函數(shù)ListDelete()調(diào)用輸出函數(shù)OutputList(L)l 查找函數(shù)ListFind()調(diào)用輸出函數(shù)O
6、utputList(L)(3)主函數(shù)的偽碼Main()定義一個(gè)字符參數(shù) ch;定義整形元素位置參數(shù) i;定義整形參數(shù)e,j=1;說(shuō)明一個(gè)線性表L;循環(huán)做下面處理,直到讀入的為y時(shí)推出:根據(jù)具體選項(xiàng),讀入需要的數(shù)據(jù),做下面的選擇處理,知道循環(huán)結(jié)束:根據(jù)所選擇選項(xiàng)調(diào)用相關(guān)的函數(shù)進(jìn)行處理,然后輸出處理后的線性表以及所要執(zhí)行的內(nèi)容。4.詳細(xì)設(shè)計(jì)采用線性表實(shí)現(xiàn)概要設(shè)計(jì)中的定義的抽象數(shù)據(jù)類(lèi)型,有關(guān)數(shù)據(jù)數(shù)據(jù)類(lèi)型和偽碼算法定義如下:(1)類(lèi)型定義typedef struct LinearListint *list; int size;int MAXSIZE;List;(2)基本操作的偽碼算法l 初始化void
7、 InitList(List &L)構(gòu)造一個(gè)空表L; 定義空表長(zhǎng)度為0; 初始存儲(chǔ)空間的容量;l 插入操作void ListInsert(List &L, int i, int e)Int *p;判斷位置i是否合法 不合法返回空;判斷當(dāng)前容量是否已滿申請(qǐng)一個(gè)新的基止newbase;L.list=newbase;增加存儲(chǔ)容量; 定義插入位置*q; p>=q; -p) *(p+1) = *p; 插入元素e;表長(zhǎng)加1;l 刪除操作int ListDelete_1(List &L, int e, int &i)定義三個(gè)指針*p,*q,*m;P=L.list;循環(huán)做
8、下面處理If(*p=e);m=p;q=L.list+L.size-1;被刪除元素之后的元素左移;表長(zhǎng)減1;continue;p+; i+; return 1;l 查找操作int ListFind(List L, int e) /*在順序線性表L中查找第1個(gè)值與e滿足compare()的元素的位序。 若找到,則返回其在L中的位序,否則返回0。*/定義第一元素的存儲(chǔ)位置為1;P=首元素的地址;While(i不能超過(guò)表長(zhǎng))+I;if (i <= L.size) return i; else return 0;5.使用說(shuō)明程序名為實(shí)驗(yàn)1.exe,程序執(zhí)行過(guò)程如下:運(yùn)行程序顯示如下菜單:print
9、f("ttt -線 性 表- n");printf("nttt*");printf("nttt* 1-初 始 化 *");printf("nttt* 2-插入元數(shù)值 *");printf("nttt* 3-刪除指定元素值 *");printf("nttt* 4-刪除指定位置 *");printf("nttt* 5-查找線性表中的元素 *");printf("nttt* 6-輸出線性表元素 *");printf("nttt* 0
10、-退 出 *");printf("nttt*n");printf("請(qǐng)選擇菜單號(hào)(0-6): "); 用戶輸入06的數(shù)字,選擇執(zhí)行相應(yīng)的功能。每執(zhí)行一次功能,就會(huì)顯示執(zhí)行的結(jié)果以及執(zhí)行后線性表的內(nèi)容。l 選擇0:提示是否退出程序,輸入y退出,輸入n返回菜單。l 選擇1:初始化線性表l 選擇2:提示“請(qǐng)輸入位置i和數(shù)值e:”,要求用戶輸入一個(gè)表示插入元素位置的和一個(gè)表示插入元素的正整數(shù),兩個(gè)數(shù)之間用空格隔開(kāi)。如果插入合法,按順序輸出線性表,否則提示錯(cuò)誤!l 選擇3: 提示“請(qǐng)輸入要?jiǎng)h除的元素值e:”,要求用戶輸入一個(gè)表示刪除元素的正整數(shù), 刪除元
11、素的合法范圍是正整數(shù)。如果輸入?yún)?shù)合法,按順序輸出線性表,否則提示錯(cuò)誤!l 選擇4:提示“請(qǐng)輸入要?jiǎng)h除的指定位置i:”, 要求用戶輸入一個(gè)表示刪除位置的正整數(shù), 刪除位置的合法范圍是1到當(dāng)前線性表的長(zhǎng)度。如果輸入?yún)?shù)合法,按順序輸出線性表,否則提示錯(cuò)誤!l 選擇5:提示“請(qǐng)輸入線性表中要查找的元素e:”,要求用戶輸入一個(gè)要查找的元素值,元素的合法范圍是正整數(shù)。如果輸入元素值合法,輸出所查找元素值在線性表中的位置,否則提示錯(cuò)誤!l 選擇6:直接輸出整個(gè)線性表。6.測(cè)試結(jié)果程序運(yùn)行顯示一下菜單:-線 性 表- * 1-初 始 化 * 2-插入元數(shù)值 * 3-刪除指定元素值 * 4-刪除指定位置 *
12、 5-查找線性表中的元素 * 6-輸出線性表元素 * 0-退 出 *請(qǐng)選擇菜單號(hào)(0-6): (1)初始化操作:l 選擇1初始化線性表屏幕提示“初始化成功!”再次提示選擇菜單(2)插入操作:l 選擇2屏幕提示“請(qǐng)輸入位置i和數(shù)值e:”輸入1 1屏幕顯示輸出線性表元素:1 插入成功!屏幕顯示選擇菜單l 選擇2屏幕提示“請(qǐng)輸入位置i和數(shù)值e:”輸入2 2屏幕顯示輸出線性表元素:1 插入成功!屏幕顯示選擇菜單l 選擇2屏幕提示“請(qǐng)輸入位置i和數(shù)值e:”輸入3 3屏幕顯示輸出線性表元素:1 插入成功!屏幕顯示選擇菜單l 選擇2屏幕提示“請(qǐng)輸入位置i和數(shù)值e:”輸入5 5屏幕顯示插入位置錯(cuò)誤!輸出線性表元素:1 屏幕顯示選擇菜單(3)刪除指定元素值操作:l 選擇3屏幕提示“請(qǐng)輸入要?jiǎng)h除的元素值e:” 輸入2后, 屏幕顯示輸出線性表:1 3刪除成功!再次顯示選擇菜單l 選擇4屏幕提示“請(qǐng)輸入要?jiǎng)h除的指定位置i:” 輸入1后, 屏幕顯示輸出線性表:3刪除成功!再次顯示選擇菜單(4)刪除指定位置元素操作:l 選擇4屏幕顯示“請(qǐng)輸入要?jiǎng)h除的指定位置i:”輸入2屏幕顯示刪除成功!輸出線性表元素有:1 3(5)查找操作:l 選擇5屏幕顯示“請(qǐng)輸入線性表中要查找的元素e:”輸入3,屏幕顯示該元數(shù)值在線
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 4.2旅游業(yè)對(duì)地理環(huán)境的影響
- 中外定期租船合同
- 預(yù)測(cè)醫(yī)學(xué)數(shù)據(jù)科學(xué)在疾病預(yù)防中的角色
- 音樂(lè)文創(chuàng)產(chǎn)品的政策支持與市場(chǎng)前景分析
- 音樂(lè)產(chǎn)業(yè)中的IP孵化與推廣
- 青年對(duì)文化節(jié)慶活動(dòng)的認(rèn)知與參與度評(píng)估
- 非洲商業(yè)生態(tài)圈探索獨(dú)特商業(yè)模式
- 防火門(mén)與防火窗的維護(hù)保養(yǎng)技巧
- 青少年社會(huì)責(zé)任感的培養(yǎng)數(shù)學(xué)教育的角色與挑戰(zhàn)
- 非接觸式檢測(cè)在商業(yè)設(shè)備中的創(chuàng)新應(yīng)用
- 集裝箱碼頭堆場(chǎng)優(yōu)化問(wèn)題
- 《redis講解》PPT課件
- 風(fēng)機(jī)基礎(chǔ)施工強(qiáng)條執(zhí)行記錄表
- (完整版)澳洲不隨行父母同意函
- 模具報(bào)價(jià)表精簡(jiǎn)模板
- 客訴處理與應(yīng)對(duì)技巧
- 哈工大橋梁基礎(chǔ)與墩臺(tái)復(fù)習(xí)總結(jié)盛洪飛
- 框架六層中學(xué)教學(xué)樓工程施工方案
- 淺析Zabbix平臺(tái)在電力企業(yè)信息設(shè)備監(jiān)控中的應(yīng)用
- 螯合樹(shù)脂資料
- 電力工程監(jiān)理規(guī)劃
評(píng)論
0/150
提交評(píng)論