l[v] = u; r[u] = v;
小技巧:虚拟位置0的使用
插入第一个元素1,则r[0] = 1;l[1] = 0;
1.将v插在u的右侧
2.将v插在u的左侧
//将v插在u的右侧 r[v] = r[u]; l[v] = u; l[r[u]] = v; r[u] = v; //将v插在u的左侧 r[v] = u; l[v] = l[u]; r[l[u]] = v; l[u] = v;
l[u] u r[u]//删除元素u l[r[u]] = l[u]; r[l[u]] = r[u];
l[u] = r[u] = 0;
for(int i = r[0]; i; i = r[i]){ /*输出以及其他操作*/ }
例题:洛谷P1160
原文:https://www.cnblogs.com/zhangqiling/p/12370616.html