題目:在乙個遞增有序的線性表中,有數值相同的元素存在,若儲存方式為單鏈表,設計演算法去掉數值相同的元素,使表中不再有重複的元素。
分析:對於這類去重,我們肯定需要進行遍歷,而這道題給我們的是遞增有序的序列,我們便可以進行一一比較,後乙個元素與當前元素相同
時便刪除當前元素。
**如下:
struct link ;
#include #include void deleterep(link *h)
pre = p;
p = p->next; }}
int main()
既然我已經踏上這條道路,那麼,任何東西都不應妨礙我沿著這條路走下去! 有序陣列 有序鍊錶高效去重
基本原理 第一步 初始化兩個指標,乙個慢指標slow 乙個快指標fast。第二步 判斷慢指標slow和快指標fast的值是否一致,如不一致,慢指標slow加1 並把快指標fast的值賦值給慢指標slow,然後快指標fast加1。第三步 繼續掃瞄後面的元素,如果慢指標slow和快指標fast的值一致,...
PAT鍊錶去重
時間限制 300 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越 給定乙個帶整數鍵值的單鏈表l,本題要求你編寫程式,刪除那些鍵值的絕對值有重複的結點。即對任意鍵值k,只有鍵值或其絕對值等於k的第乙個結點可以被保留。同時,所有被刪除的結點必須被儲存在...
PAT 鍊錶去重
給定乙個帶整數鍵值的鍊錶 l,你需要把其中絕對值重複的鍵值結點刪掉。即對每個鍵值 k,只有第乙個絕對值等於 k 的結點被保留。同時,所有被刪除的結點須被儲存在另乙個鍊錶上。例如給定 l 為 21 15 15 7 15,你需要輸出去重後的鍊錶 21 15 7,還有被刪除的鍊錶 15 15。輸入在第一行...