單鏈表ADT模板簡單應用演算法設計 有序單鏈表的提純

2021-10-24 21:56:55 字數 1096 閱讀 8367

問題描述

目的:使用c++模板設計單鏈表的抽象資料型別(adt)。並在此基礎上,使用單鏈表adt的基本操作,設計並實現單鏈表的簡單演算法設計。

內容:(1)請使用模板設計單鏈表的抽象資料型別。(由於該環境目前僅支援單檔案的編譯,故將所有內容都集中在乙個原始檔內。在實際的設計中,推薦將抽象類及對應的派生類分別放在單獨的標頭檔案中。參考網盤中的adt原型檔案。)

(2)adt的簡單應用:使用該adt設計並實現單鏈表應用場合的一些簡單演算法設計。

應用5:試設計乙個演算法,刪除有序單鏈表a中的冗餘元素,即使得操作之後的單鏈表中只保留操作之前表中所有值都不相同的元素,並保持其有序性。要求利用原表中的結點,並釋放a表中冗餘的結點空間。

templatevoid purge_lk_ol( linklist&a ); //測試資料限定為整數。實際應用時,不受其限制

輸入說明

第一行:單鏈表a的長度

第二行:單鏈表a的資料元素(資料元素之間以空格分隔)

輸出說明

第一行:單鏈表a的遍歷結果

第二行:提純後單鏈表a的遍歷結果

(輸入與輸出之間以空行分隔)

輸入範例

7

3 3 5 5 8 11 11

輸出範例
3 3 5 5 8 11 11 

3 5 8 11

思路分析

思路分析

完成的思路,好比兩塊磁石,同極相斥,異極相斥。當兩塊磁石

偽**

void

分析與總結

注意,當最後的一連串的元素都是重複的,後指標aback一定遍歷為空,從而跳出迴圈,不能排除最後的重複的元素,所以在迴圈的末尾需要將afront的next域置為空

單鏈表ADT模板簡單應用演算法設計 按要求提純鍊錶

偽 異常處理現場 分析與總結 問題描述 目的 使用c 模板設計單鏈表的抽象資料型別 adt 並在此基礎上,使用單鏈表adt的基本操作,設計並實現單鏈表的簡單演算法設計。內容 1 請使用模板設計單鏈表的抽象資料型別。由於該環境目前僅支援單檔案的編譯,故將所有內容都集中在乙個原始檔內。在實際的設計中,推...

順序棧ADT模板簡單應用演算法設計 回文判斷

問題描述 應用 正讀與反讀都相同的字串行稱為 回文 序列。請使用順序棧,設計並實現乙個演算法,判斷依次讀入的乙個以 為結束符的字串行是否為形如 序列1 序列2 模式的字串行。其中序列1和序列2中都不含有字元 且序列2是序列1的逆序列。例如,a b b a 是屬於該模式的字串行,而 1 3 3 1 則...

迴圈鍊錶ADT模板簡單應用演算法設計 約瑟夫環

偽碼事故現場 分析與總結 問題描述 目的 使用c 模板設計迴圈鍊錶的抽象資料型別 adt 並在此基礎上,使用迴圈鍊錶adt的基本操作,設計並實現單鏈表的簡單演算法設計。內容 1 請使用模板設計迴圈鍊錶的抽象資料型別。由於該環境目前僅支援單檔案的編譯,故將所有內容都集中在乙個原始檔內。在實際的設計中,...