刪除元素值相同的有序 無序單鏈表

2021-10-07 10:07:37 字數 1387 閱讀 3856

注:

(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個整數,表示鍊錶的每乙個元素。整數之間用空格隔開 輸出針對每組測試資料,輸出包括兩行,分別是刪除前和刪除後的鍊錶元素,用空格隔開...