數(shù)據(jù)結(jié)構(gòu)實驗報告要求及范例_第1頁
數(shù)據(jù)結(jié)構(gòu)實驗報告要求及范例_第2頁
數(shù)據(jù)結(jié)構(gòu)實驗報告要求及范例_第3頁
數(shù)據(jù)結(jié)構(gòu)實驗報告要求及范例_第4頁
數(shù)據(jù)結(jié)構(gòu)實驗報告要求及范例_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、實驗報告要求在每一次實驗完成后,要提交相應的實驗報告,包括以下幾方面內(nèi)容。1.基本信息基本信息是指實驗人員的基本信息,包括:實驗項目名稱、實驗類型、班級、學號、姓名、實驗日期。2.問題描述問題描述是對問題背景、問題內(nèi)容、問題約束條件等進行的敘述。其主要任務是弄清要解決的問題是什么,闡述問題的基本要求及應實現(xiàn)的功能,明確要完成的任務,以及數(shù)據(jù)的輸入、輸出形式。3.數(shù)據(jù)結(jié)構(gòu)設計通過對問題的分析,給出由具體語言描述的數(shù)據(jù)結(jié)構(gòu)定義,并闡述定義理由。4.算法設計算法設計主要介紹本設計從整體上劃分為幾個模塊,每個模塊需要完成的功能是什么?給出功能(函數(shù))說明,畫出函數(shù)之間的調(diào)用關系圖。就每一個函數(shù),給出算

2、法思想以及偽代碼的算法描述。5. 抽象數(shù)據(jù)類型的設計根據(jù)所設計的數(shù)據(jù)結(jié)構(gòu)和函數(shù)接口,設計抽象數(shù)據(jù)類型。6.界面設計介紹提供給用戶操作的界面及必要的使用說明。適當說明程序的使用流程。7.運行、測試與分析給出有代表性的測試用例,并加以簡單的文字說明,注意程序運行要覆蓋算法的各種情況。給出程序運行結(jié)果的截圖,并分析程序的時間復雜度和空間復雜度。8.實驗收獲及思考主要指出算法的特點,在實現(xiàn)該實驗基本要求的前提下,還可以進行哪些方面的功能擴展,特別是重點說明實驗最有價值的內(nèi)容。上機實驗后有哪些想解決、但尚未解決的問題,在哪些方面需要進一步了解或得到幫助,以及編程實現(xiàn)實驗的感悟等內(nèi)容。附錄:源代碼源程序要

3、按照編寫程序的規(guī)則來編寫,結(jié)構(gòu)須清晰。每個函數(shù)均需要在函數(shù)頭前注釋說明該函數(shù)的簡要功能,函數(shù)中的關鍵語句需添加注釋。實驗報告樣例實驗名稱:學生基本信息管理實驗類型:設計性實驗班級:軟件工程學號:150姓名:王一航實驗日期:2008.3.151.問題描述設計一個簡單的管理系統(tǒng),實現(xiàn)學生基本信息(學號、姓名、性別、入學時間、入學成績、專業(yè)、特長)的存儲,以便查詢、顯示等。系統(tǒng)具備以下功能:記錄添加、記錄刪除、按學號查詢、記錄顯示等。2.數(shù)據(jù)結(jié)構(gòu)設計每個學生的基本信息含有多個屬性,為此可根據(jù)學生信息建立結(jié)構(gòu)體,如下:typedef structint xh;/學號char *xm;/姓名time r

4、xsj;/入學時間int rxcj;/入學成績char *zy;/專業(yè)char *hoppy;/特長 student入學時間,包括年、月、日,年是4位數(shù),月和日均為2位數(shù),為此建立下面結(jié)構(gòu)體,表示入學時間類型。typedef structchar year5;/年char month3;/月char day3;/日 time本問題范疇內(nèi),學生記錄可按錄入順序或?qū)W號形成唯一前驅(qū)和后繼關系,所以選用線性表存儲學生記錄。若考慮到變動的學生數(shù)及經(jīng)常進行插入與刪除,宜采用鏈式存儲。存儲結(jié)構(gòu)定義如下:typedef structstudent xs;/學生記錄student *next;/指向下一個記錄的

5、指針 XsNode, *XsList為簡化插入與刪除算法,采用具有頭結(jié)點的單鏈表。為方便查詢及插入與刪除的定位,表按學號有序存儲。3.算法設計系統(tǒng)規(guī)定的功能設計的算法有:記錄插入、記錄刪除、按學號查詢及記錄顯示。如果記錄以交互方式創(chuàng)建,還將涉及創(chuàng)建算法。(1)記錄插入因為表按學號有序存儲,記錄插入將按新記錄的學號進行插入。算法如下。setp 1:創(chuàng)建一新結(jié)點,輸入新結(jié)點的數(shù)據(jù),為了界面友好,可提供輸入提示。如:s=new XsNode;/創(chuàng)建一新結(jié)點couts-xs.xh;;couts-xs.rxsj.year xs.rxsj.month xs.rxsj.day;co

6、uts-xs.rxcj;couts-xs.zy;couts-xs.hoppy;setp 2:插入位置定位。根據(jù)單鏈表結(jié)點插入算法,指針定位到插入點之前,設此處為p,則插入位置滿足關系:p-xs.xhnext-xs.xh。所以,尋找插入位置的方法則是從表頭開始,尋找滿足此關系的p。主要代碼如下:p=L;while (p-next-xs.xhnext) p= p-next;setp 3:將新結(jié)點s插入在p之后,即:s-next=p-next;p-next= s;(2)表創(chuàng)建算法對于有頭結(jié)點的單鏈表,操作步驟如下:setp 1:創(chuàng)建頭結(jié)點。主要代碼如下:XsList L;L=new XsNode;L

7、-next=NULL;couts-xs.xh;setp 2:調(diào)用結(jié)點插入算法,創(chuàng)建各個記錄。(3)按學號查詢實現(xiàn)按學號的記錄查找。操作步驟如下。setp 1:輸入要查詢的學號xh。setp 2:從表頭開始,順序查找,找到,返回該結(jié)點指針;否則,返回空。即:coutxh;p=L-next;/查找起始位置while (p-xs.xh!=xh & p-next) p=p-next;/順序查找if (p-xs.xh=xh) return p;/找到,返回結(jié)點位置else return NULL;/未找到,返回空(4)記錄刪除實現(xiàn)刪除指定學號的記錄。操作步驟如下:setp 1:輸入要刪除的記錄的學號xh

8、。setp 2:從表頭開始,順序查找,定位到刪除點的前驅(qū)。即:pre=L;q=pre-next;while(q & q-xs.xh!=xh) pre=q; q=q-next;setp 3:如果未找到,不刪除;否則,從鏈表刪除該結(jié)點。即:if(q) pre-next=q-next; delete q;(5)記錄顯示通過遍歷,顯示各結(jié)點的值,即:p=L-next;/首元結(jié)點while(p) /所有結(jié)點coutxs.xht xs.xmt xs.rxsj.yeartxs.rxsj.montht xs.rxsj.dayt xs.rxcjt xs.zyt xs.hoppy; /輸出記錄各屬性值couten

9、dl;4.界面設計歡迎使用本程序1. 創(chuàng)建表2. 插入新記錄3. 刪除記錄4. 查詢5. 瀏覽記錄6. 退出程序包含有多個功能,所以,采用菜單,以方便用戶進行功能選擇。菜單如下:5. 運行、測試與分析(1)運行程序,顯示菜單,如圖1.1所示。圖1.1 啟動界面(2)按“1”創(chuàng)建表。根據(jù)提示,輸入記錄個數(shù),并輸入各條記錄,插入過程與插入記錄類似。(3)按“2”插入記錄。根據(jù)提示輸入記錄內(nèi)容,如圖1.2所示。圖1.2 記錄插入界面(4)按“3”,進行刪除記錄操作,如圖1.3所示。圖1.3 記錄刪除界面根據(jù)提示,輸入要刪除記錄的學號,若存在,顯示刪除存在;否則,顯示不存在,無法刪除。(5)按“4”,進行記錄查找,如圖1.4所示。圖1.

溫馨提示

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

評論

0/150

提交評論