《資料結構》實驗

2022-05-05 06:03:02 字數 3576 閱讀 5192

《資料結構與演算法》第1次實驗題目及要求

實驗一:線性表、佇列與棧及其操作演算法

一、實驗內容

1.建立包括頭結點和3個結點(4,2,1)的單鏈表,實現單鏈表建立、插入、刪除和順序查詢等基本操作。

2.程式設計用一維陣列來模擬乙個棧,實現入棧和出棧操作,解決括號匹配問題。

3.程式設計用一維陣列來模擬乙個佇列,實現入佇列和出佇列操作,解決楊輝三角問題。

二、實驗要求

1.掌握單鏈表的各種運算(表內結點的插入﹑刪除,輸出單鏈表等)。

2.掌握棧的結構和演算法應用。

3.掌握佇列的結構和演算法應用。

三、實驗報告要求

實驗報告使用教務處統一印製的《武漢理工大學學生實驗報告書》,主要包括:

1)實驗預習報告:

主要包括下列內容:

[1]實驗目的和意義。

[2]問題描述:包括目標、任務、條件和約束的描述。

[3]實驗原理與方法:闡述所使用的方案的工作原理。

[4]實驗方案和技術路線,包括:資料結構設計和核心演算法設計描述、主模組及功能模組層次結構、主要功能模組的輸入、輸出和演算法框架描述、功能模組之間的呼叫與被呼叫關係等內容。

2)實驗過程記錄:

主要包括下列內容:

[1]上機實驗的除錯過程,包括編譯時出現的錯誤資訊、錯誤分析、解決方法和解決過程。

[2]上機實驗的測試過程,包括測試範例,測試結果,測試結果的分析與討論,測試過程中遇到的主要問題及所採用的解決措施。

[3]軟體使用說明:主要描述如何使用你的程式以及使用時的主要事項。

[4]實驗輸出結果。

3)結果與討論:

主要包括下列內容:

[1]實驗結果分析:對本次實驗進行分析和評價。

[2]小結、建議和體會:說明程式的改進思想、經驗和體會。

[3]思考題:回答教師布置的討論題。

[4]程式清單:根據教師的要求,以電子文件形式或者列印附件形式提交所設計的程式清單。

要求:1、 用visual c++ 上機程式設計,請預習vc++軟體;

2、 本要求適用後面兩個實驗;

3、 請同學們做實驗時把課本帶來,需要借助書上的例子;

4、 不能在課堂上完成的,自己課後完成,然後將課後完成的結果執行給老師看。

實驗題目及要求:

1、 實驗題目為課本實驗題2.1—2.4,3.1—3.4;

2、 要求同學每8人為一組,分別按學號選擇2.1—2.4及3.1—3.4其中的一題。

課本p56:線性表

實驗題2.1 編寫乙個程式實現順序表結構的各種基本運算,並在此基礎上設計乙個主程式完成如下功能:

(1) 初始化順序表l;

(2) 依次採用尾插入法插入啊,a,b,c,d,e元素;

(3) 輸出順序表l;

(4) 輸出順序表l長度;

(5) 判斷順序表l是否為空;

(6) 輸出順序表l的第3個元素;

(7) 輸出元素『a』的位置;

(8) 在第四個元素位置上插入『f』元素;

(9) 輸出順序表l;

(10) 刪除l的第3個元素;

(11) 輸出順序表l;

(12) 釋放順序表l。

實驗題2.2 編寫乙個程式實現單鏈表的各種基本運算,並在此基礎上設計乙個主程式完成如下功能:

(1) 初始化單鏈表h;

(2) 依次採用尾插法插入a,b,c,d,e元素;

(3) 輸出單鏈表h;

(4) 輸出單鏈表h長度;

(5) 判斷單鏈表h是否為空;

(6) 輸出單鏈表h的第3個元素;

(7) 輸出元素『a』的位置;

(8) 在第4個元素位置上插入『f』元素;

(9) 輸出單鏈表h;

(10) 刪除l的第3個元素;

(11) 輸出單鏈表h;

(12) 釋放單鏈表h。

實驗題2.3 編寫乙個程式實現雙鏈表的各種基本運算,並在此基礎上設計乙個主程式完成如下功能:

(1) 初始化雙鏈表h;

(2) 依次採用尾插法插入a,b,c,d,e元素;

(3) 輸出雙鏈表h;

(4) 輸出雙鏈表h長度;

(5) 判斷雙鏈表h是否為空;

(6) 輸出雙鏈表h的第3個元素;

(7) 輸出元素『a』的位置;

(8) 在第4個元素位置上插入『f』元素;

(9) 輸出雙鏈表h;

(10) 刪除l的第3個元素;

(11) 輸出雙鏈表h;

(12) 釋放雙鏈表h。

實驗題2.4 編寫乙個程式實現迴圈鍊錶的各種基本運算,並在此基礎上設計乙個主程式完成如下功能:

(1) 初始化迴圈鍊錶h;

(2) 依次採用尾插法插入a,b,c,d,e元素;

(3) 輸出迴圈鍊錶h;

(4) 輸出迴圈鍊錶h長度;

(5) 判斷迴圈鍊錶h是否為空;

(6) 輸出迴圈鍊錶h的第3個元素;

(7) 輸出元素『a』的位置;

(8) 在第4個元素位置上插入『f』元素;

(9) 輸出迴圈鍊錶h;

(10) 刪除l的第3個元素;

(11) 輸出迴圈鍊錶h;

(12) 釋放迴圈鍊錶h。

課本p88:棧和佇列

實驗題3.1 編寫乙個程式實現順序棧的各種基本運算,並在此基礎上設計乙個主程式完成如下功能:

(1) 初始化棧s;

(2) 判斷棧s是否非空;

(3) 依次進棧元素a,b,c,d,e;

(4) 判斷棧s是否非空;

(5) 輸出棧長度;

(6) 輸出從棧頂到棧底的元素;

(7) 輸出出棧序列;

(8) 判斷棧s是否非空;

(9) 釋放棧。

實驗題3.2 編寫乙個程式實現鏈棧的各種基本運算,並在此基礎上設計乙個主程式完成如下功能:

(1) 初始化鏈棧s;

(2) 判斷鏈棧s是否非空;

(3) 依次進棧元素a,b,c,d,e;

(4) 判斷鏈棧s是否非空;

(5) 輸出鏈棧長度;

(6) 輸出從棧頂到棧底的元素;

(7) 輸出出鏈棧序列;

(8) 判斷鏈棧s是否非空;

(9) 釋放鏈棧。

實驗題3.3 編寫乙個程式實現順序環形佇列的各種基本運算,並在此基礎上設計乙個主程式完成如下功能:

(1) 初始化佇列q;

(2) 判斷佇列q是否非空;

(3) 依次進棧元素a,b,c;

(4) 出隊乙個元素,輸出該元素;

(5) 輸出佇列q的元素個數;

(6) 依次進佇列元素d,e,f;

(7) 輸出佇列q的元素個數;

(8) 輸出出隊序列;

(9) 釋放佇列。

實驗題3.4 編寫乙個程式實現鏈隊的各種基本運算,並在此基礎上設計乙個主程式完成如下功能:

(1) 初始化鏈隊q;

(2) 判斷鏈隊q是否非空;

(3) 依次進棧元素a,b,c;

(4) 出隊乙個元素,輸出該元素;

(5) 輸出鏈隊q的元素個數;

(6) 依次進鏈隊元素d,e,f;

(7) 輸出鏈隊q的元素個數;

(8) 輸出出隊序列;

(9) 釋放鏈隊。

資料結構實驗

資訊23 2120502060 古碧野一 實驗題目 建立乙個線性表,實現線性表的建立,插入,刪除和遍歷 二.實驗目的和要求 實驗目的 熟練掌握線性表的基本操作在順序儲存結構上的實現。實驗要求 用c語言編寫源程式,並除錯通過,測試正確。三.主要儀器裝置 windows xp操作平台,visual c ...

資料結構實驗

一 實驗目的 1 了解二叉樹的定義及基本運算。2 掌握二叉樹的描述方法 特點 性質及儲存結構。3 掌握二叉樹的基本操作演算法。4 自主設計二叉樹建立 遍歷等操作的整個程式。二 實驗內容 根據建立任意給定的二叉樹,並對此二叉樹進行前序 中序 後序 層次四種遍歷。基本要求 1 具有二叉樹的建立功能 2 ...

資料結構實驗

一 實驗題目編寫乙個程式實現雙鏈隊的各種基本運算,並在此基礎上設計乙個主程式完成如下功能 1 初始化鏈隊q 2 判斷鏈隊q是否為空 3 依次進隊元素a,b,c 4 出隊乙個元素,輸出該元素 5 輸出鏈隊q的元素個數 6 依次進鏈隊元素d,e,f 7 輸出鏈隊q的元素個數 8 輸出出隊序列 9 釋放鏈...