#include <iostream>
#include <algorithm>
using namespace std;
//struct NODE {
// struct NODE *prev, *next;
// int data;
//};
const int MX = 1000005;
int dat[MX], pre[MX], nxt[MX];
int unused = 1;
void traverse() {
int cur = nxt[0];
while(cur != -1) {
cout << dat[cur] << ' ';
cur = nxt[cur];
}
cout << '\n';
}
void insert(int addr, int num) {
dat[unused] = num;
pre[unused] = addr;
nxt[unused] = nxt[addr];
if (nxt[addr] != -1) pre[nxt[addr]] = unused;
nxt[addr] = unused;
unused++;
}
void erase(int addr) {
nxt[pre[addr]] = nxt[addr];
if (nxt[addr] != -1) pre[nxt[addr]] = pre[addr];
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
fill(dat, dat+MX, -1);
fill(pre, pre+MX, -1);
fill(nxt, nxt+MX, -1);
return 0;
}
출처
https://blog.encrypted.gg/932?category=773649
'Algorithm > 이론' 카테고리의 다른 글
배열로 Heap 구현 예시 (0) | 2022.09.11 |
---|---|
다익스트라 알고리즘 예시 코드 [C++, Python] (0) | 2022.08.25 |
BFS 예시 코드 [C++, Python] (0) | 2022.07.09 |
재귀로 조합 구현하기 [C++} (0) | 2022.07.08 |
재귀로 순열 구현하기 [C++] (0) | 2022.07.08 |