線性表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. 實現單鏈表各種基本運算的演算法,並基礎上設計乙個主程式完成如下功能:
(1)初始化單鏈表h;
(2)採用尾插法依次插入a,b,c,d,e;
(3)輸出單鏈表h;
(4)輸出單鏈表h的長度;
(5)判斷單鏈表h是否為空;
(6)輸出單鏈表h的第3個元素;
(7)輸出元素a的位置;
(8)在第四個元素位置上插入f元素;
(9)輸出單鏈表h;
(10)刪除單鏈表h的第3個元素;
(11)輸出單鏈表h;
(12)釋放單鏈表h;
3. 實現雙鏈表各種基本運算的演算法,並基礎上設計乙個主程式完成如下功能:
(1)初始化雙鏈表h;
(2)採用尾插法依次插入a,b,c,d,e;
(3)輸出雙鏈表h;
(4)輸出雙鏈表h的長度;
(5)判斷雙鏈表h是否為空;
(6)輸出雙鏈表h的第3個元素;
(7)輸出元素a的位置;
(8)在第四個元素位置上插入f元素;
(9)輸出雙鏈表h;
(10)刪除雙鏈表h的第3個元素;
(11)輸出雙鏈表h;
(12)釋放雙鏈表h;
4. 實現迴圈單鏈表各種基本運算的演算法,並基礎上設計乙個主程式完成如下功能:
(1)初始化迴圈單鏈表h;
(2)採用尾插法依次插入a,b,c,d,e;
(3)輸出迴圈單鏈表h;
(4)輸出迴圈單鏈表h的長度;
(5)判斷迴圈單鏈表h是否為空;
(6)輸出迴圈單鏈表h的第3個元素;
(7)輸出元素a的位置;
(8)在第四個元素位置上插入f元素;
(9)輸出迴圈單鏈表h;
(10)刪除迴圈單鏈表h的第3個元素;
(11)輸出迴圈單鏈表h;
(12)釋放迴圈單鏈表h;
5. 實現迴圈單鏈表各種基本運算的演算法,並基礎上設計乙個主程式完成如下功能:
(1)初始化迴圈雙鏈表h;
(2)採用尾插法依次插入a,b,c,d,e;
(3)輸出迴圈雙鏈表h;
(4)輸出迴圈雙鏈表h的長度;
(5)判斷迴圈雙鏈表h是否為空;
(6)輸出迴圈雙鏈表h的第3個元素;
(7)輸出元素a的位置;
(8)在第四個元素位置上插入f元素;
(9)輸出迴圈雙鏈表h;
(10)刪除迴圈雙鏈表h的第3個元素;
(11)輸出迴圈雙鏈表h;
(12)釋放迴圈雙鏈表h;
6. 求集合的並,交,差運算(用有序單鏈表表示)
棧和佇列
7. 實現順序棧各種基本運算的演算法,編寫乙個程式實現順序棧的各種基本運算,並在此基礎上設計乙個主程式完成以下各種功能:
(1)初始化棧s
(2)判斷棧s是否非空
(3)依次進棧元素a,b,c,d,e
(4)判斷棧s是否非空
(5)輸出棧長度
(6)輸出從棧頂到棧底元素
(7)輸出出棧序列
(8)判斷棧s是否非空
(9)釋放棧
8. 實現鏈棧各種基本運算的演算法,編寫乙個程式,實現鏈棧的各種基本演算法,並在此基礎上設計乙個主程式完成如下功能:
(1)初始化鏈棧s
(2)判斷鏈棧s是否非空
(3)依次進棧元素a,b,c,d,e
(4)判斷鏈棧s是否非空
(5)輸出鏈棧長度
(6)輸出從棧頂到棧底元素
(7)輸出鏈棧序列
(8)判斷鏈棧s是否非空
(9)釋放鏈棧
9. 實現順序佇列各種基本運算的演算法,編寫乙個程式,實現順序迴圈佇列各種基本運算,並在此基礎上設計乙個主程式完成如下功能:
(1)初始化佇列q
(2)判斷佇列q是否非空
(3)依次進佇列元素a,b,c
(4)出隊乙個元素,輸出該元素
(5)輸出佇列q的元素的個數
(6)依次進佇列元素d,e,f
(7)輸出佇列q的元素的個數
(8)輸出出隊序列
(9)釋放佇列
10. 實現鏈隊各種基本運算的演算法,編寫乙個程式,實現鏈隊的各種基本運算,在此基礎上設計乙個主程式完成如下功能:
(1)初始化鏈隊q
(2)判斷鏈隊q是否非空
(3)依次進鏈隊元素a,b,c
(4)出隊乙個元素,輸出該元素
(5)輸出鏈隊q的元素的個數
(6)依次進鏈隊元素d,e,f
(7)輸出鏈隊q的元素的個數
(8)輸出出隊序列
(9)釋放鏈隊
串11. 實現順序串各種基本運算的演算法,編寫乙個程式實現順序的基本運算的演算法,比在此基礎上設計乙個主程式完成如下功能:
(1)建立s=」abcdefghefghijklmn」和串s1=」xyz」
(2)輸出串s
(3)輸出串s的長度
(4)在串s的第9個字元位置插入串s1而產生串s2
(5)輸出串s2
(6)刪除串s第2個字元開始的5個字元而產生的串s2
(7)輸出串s2
(8)將串s第2個字元開始的5個字元替換成串s1而產生串s2
(9)輸出串s2
(10)提取串s的第2個字元開始的10個字元而產生串s3
(11)輸出串s3
(12)將串s1和串s2連線起來而產生的串s4
(13)輸出串s4
12. 實現鏈串個各種基本運算的演算法,編寫乙個程式實現鏈串的各種基本運算,並在此基礎上設計乙個主程式完成如下功能;
(1)建立s=」abcdefghefghijklmn」和串s1=」xyz」
(2)輸出串s
(3)輸出串s的長度
(4)在串s的第9個字元位置插入串s1而產生串s2
(5)輸出串s2
(6)刪除串s第2個字元開始的5個字元而產生的串s2
(7)輸出串s2
(8)將串s第2個字元開始的5個字元替換成串s1而產生串s2
(9)輸出串s2
(10)提取串s的第2個字元開始的10個字元而產生串s3
(11)輸出串s3
(12)將串s1和串s2連線起來而產生的串s4
(13)輸出串s4
13. 順序串的各種模式匹配運算,編寫乙個程式實現順序串的各種模式匹配運算,並在此基礎上完成如下功能:
(1)建立」abcabcdabcdeabcdefabcdefg」目標串s和」abcdeabcdefab」模式串t
(2)採用簡單匹配演算法求t在s中的位置
(3)由模式串t求出next值和nextval值
(4)採用kmp演算法求t在s中的位置
(5)採用改進的kmp演算法求t在s中的位置
查詢14. 實現順序查詢的演算法,編寫乙個程式輸出在順序表中採用順序方法查詢關鍵字5的過程。
15. 實現二分查詢的演算法,編寫乙個程式輸出在順序表中採用二分查詢法查詢關鍵字9的過程。
16. 實現分塊查詢的演算法,編寫乙個程式輸出在順序表中採用分塊查詢法(每塊的塊長為5,共有5塊)查詢關鍵字46個過程。
17. 實現二叉排序樹的基本運算的演算法,編寫乙個程式實現二叉排序樹的基本運算,並在此基礎上完成如下功能:
(1)由建立一棵二叉排序樹bt並以括號表示法輸出
(2)判斷bt是否為一棵二叉排序樹
(3)採用遞迴和非遞迴兩種方法查詢關鍵字為6的節點,並輸出查詢路徑
(4)分別刪除bt中關鍵字4和5的節點,並輸出刪除後的二叉排序樹
18. 統計乙個字串**現的字元及其次數,編寫乙個程式讀入乙個字串,統計該字串**現的字元及其次數,然後輸出結果。要求用乙個二叉樹來儲存處理結果,字串中的每個不同的字元用樹描述,每個節點包含4個域,格式為:
字元該字元的出現次數
指向ascii碼小於該字元的左子樹指標
指向ascii碼大於該字元的左子樹指標
內排序19. 實現直接插入排序演算法,編寫乙個程式實現直接插入排序過程,並輸出的排序過程。
20. 實現希爾插入排序演算法,編寫乙個程式實現希爾插入排序過程,並輸出的排序過程。
21. 實現氣泡排序演算法,編寫乙個程式實現氣泡排序過程,並輸出的排序過程。
22. 實現快速排序演算法,編寫乙個程式實現快速排序過程,並輸出的排序過程。
23. 實現直接選擇排序演算法,編寫乙個程式實現直接選擇排序過程,並輸出的排序過程。
24. 實現堆排序演算法,編寫乙個程式實現堆排序過程,並輸出的排序過程。
25. 實現基數排序演算法,編寫乙個程式實現基數排序過程,並輸出的排序過程。
資料結構上機題目
第二次 sqlist 順序表 2.11 設順序表va中的資料元素遞增有序。試寫一演算法,將x插入到順序表的適當位置上,以保持該錶的有序性。2.21 試寫一演算法,實現順序表的就地逆置,即利用原表的儲存空間將線性表 a1,a2,an 逆置為 an,an 1,a1 第三次 linklist 單鏈表 2....
資料結構題目說明
題目說明 1.運動會分數統計 限3人完成 任務 參加運動會有n個學校,學校編號為1 n。比賽分成m個男子專案,和w個女子專案。專案編號為男子1 m,女子m 1 m w。不同的專案取前五名或前三名積分 取前五名的積分分別為 7 5 3 2 1,前三名的積分分別為 5 3 2 哪些取前五名或前三名由學生...
資料結構實驗題目
實驗一線性表 一 多項式相加 問題描述 一元多項式相加是通過鍵盤輸入兩個形如p0 p1x1 p2x2 pnxn 的多項式,經過程式運算後在螢幕上輸出他們的相加和。二 約瑟夫 josephus 環 問題描述 設編號為1 2 n的n個人圍坐一圈,約定編號為k 1 k n 的人從1開始報數,數到m的那個人...