注:
(1).設定指標p最初指向第1個結點,當p的指標域不為空,
既p不是最後乙個結點時進入迴圈體內進行判斷。
(2).在迴圈過程中判斷p所指的結點的後繼q是否與p的資料域相同,
如果相同則刪除q;不同則說明了鍊錶中沒有與p的資料域相同的結點,則p後移;
#include
"stdio.h"
#include
"stdlib.h"
typedef
struct node
link;
void
shuchu
(link *head)
//##################輸出函式,帶頭結點的輸出
}link *
drop
(link *head)
//##########################核心函式,刪除相同的元素
else
q=q->next;
}return head;
}link *
shuru
(link *head)
//##########################輸入函式,採用尾插發的方式輸入
return head;
}main()
執行之後:
//##################輸出函式,帶頭結點的輸出
}link *
drop
(link *head)
//##########################核心函式,刪除相同的元素
else
} q=q->next;
}return head;
}link *
shuru
(link *head)
//##########################輸入函式,採用尾插發的方式輸入
return head;
}main()
執行之後:
2020.6.22 下午
資料結構 (單鏈表刪除相同元素)
單鏈表作非遞減有序線性表的儲存結構。請設計乙個時間複雜度為o n 的演算法,刪除表中所有數值相同的多餘元素,並釋放結點空間。include include using namespace std typedef struct list list,lnode void initlist list l ...
刪除單鏈表中值相同的多餘元素
刪除單鏈表 有頭結點 中所有值相同的多餘元素,同時釋放被刪除的結點空間 思路 依次遍歷單鏈表中的全部結點,判斷該位置後邊有沒有重複的結點,如果有重複的結點,則刪除該結點並釋放空間 include include using namespace std const int flag 1 typedef...
DS 有序單鏈表刪除重複元素
題目描述 根據乙個遞增的整數序列構造有序單鏈表,刪除其中的重複元素 輸入輸入包括多組測試資料,每組測試資料佔一行,第乙個為大於等於0的整數n,表示該單鏈表的長度,後面跟著n個整數,表示鍊錶的每乙個元素。整數之間用空格隔開 輸出針對每組測試資料,輸出包括兩行,分別是刪除前和刪除後的鍊錶元素,用空格隔開...