l2-002鍊錶去重
為了將刪除的和未刪除的分開我們給他們賦權nod
e[i]
.key
node[i].key
node[i
].ke
y,然後按權值排序後即為所求。
然後在儲存鏈式結構的時候可以採取類似於鏈式前向星的方法,
n ex
t儲存下
乙個節點
位置的地
址th意
為thi
s儲存這
個位置的
位址va
l則為邊
權ne
xt儲存
下乙個節
點位置的
位址th
意為th
is儲存
這個位置
的位址v
al則為
邊權這裡改了的是結構體的nod
e[i]
node[i]
node[i
]即為儲存位址,然後去標記訪問遍歷模擬就可以了。
#include
#define endl '\n'
using
namespace std;
int head,n;
const
int maxn=
1e5;
int vis[
100010];
struct node
}node[
100010];
intmain()
int cnt1=
0,cnt2=0;
for(
int i=head;i!=-1
;i=node[i]
.next)
else
}sort
(node,node+maxn+1)
;int cnt=cnt1+cnt2;
for(
int i=
0;i++i)
else
}}
L2 002 鍊錶去重 (25 分)
l2 002 鍊錶去重 25 分 給定乙個帶整數鍵值的鍊錶 l,你需要把其中絕對值重複的鍵值結點刪掉。即對每個鍵值 k,只有第乙個絕對值等於 k 的結點被保留。同時,所有被刪除的結點須被儲存在另乙個鍊錶上。例如給定 l 為 21 15 15 7 15,你需要輸出去重後的鍊錶 21 15 7,還有被刪...
L2 002 鍊錶去重 (25 分
給定乙個帶整數鍵值的鍊錶 l,你需要把其中絕對值重複的鍵值結點刪掉。即對每個鍵值 k,只有第乙個絕對值等於 k 的結點被保留。同時,所有被刪除的結點須被儲存在另乙個鍊錶上。例如給定 l 為 21 15 15 7 15,你需要輸出去重後的鍊錶 21 15 7,還有被刪除的鍊錶 15 15。輸入在第一行...
L2 002 鍊錶去重 25 分
l2 002 鍊錶去重 25 分 給定乙個帶整數鍵值的鍊錶 l,你需要把其中絕對值重複的鍵值結點刪掉。即對每個鍵值 k,只有第乙個絕對值等於 k 的結點被保留。同時,所有被刪除的結點須被儲存在另乙個鍊錶上。例如給定 l 為 21 15 15 7 15,你需要輸出去重後的鍊錶 21 15 7,還有被刪...