#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 

 

+ Recent posts