Linked-list and STL list
J-Shine
바킹독님의 실전알고리즘배우기 4강듣고 요약
연결리스트의 성질
연결리스트의 종류
배열 vs 연결리스트
연결리스트의 구현
야매 연결리스트
#include <bits/stdc++.h>
using namespace std;
const int MX = 1000005;
int dat[MX], pre[MX], nxt[MX];
int unused = 1;
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(void) {
fill(pre, pre+MX, -1);
fill(nxt, nxt+MX, -1);
//insert_test();
//erase_test();
}
0번 노드는 시작점을 알리는 dummy node이다.
실무에선 쓸 수 없고 코테에서만 가능한 방식
STL list
STL의 list는 이중연결리스트이다.
STL list 관련 자세한 포스팅