用数组模拟单链表

head 表示单链表的头

cnt 表示 数组坐标

const int N = 1e6 +10;

int e[N],ne[N]; //e[N]表示该数组节点存储的值的大小,ne[N]表示该数组节点后续节点的坐标

void init()/*初始化*/{

  head = -1;// 后续节点为-1的表示这是该链表的尾节点

  cnt=0;

}

void add(int k,int x){

  //在数组下标为k的节点后插入值为x的节点

  e[cnt]=x;

  ne[cnt]=ne[k];

  ne[k]=cnt++;

}

void sub(int k)/*删除数组下标为k+1的节点*/{

  ne[k]=ne[ne[k]];

}

 

posted @ 2020-10-27 19:17  爱努力的人最幸福  阅读(118)  评论(0)    收藏  举报