静态单链表的实现:
开一个n数组存储我们的数据域,开一个ne数组储存我们的指针域(形式上)。idex表示当前操作位置。
#includeusing namespace std; const int N=1e5+10; int head,idex, n[N],ne[N]; void init(){ head=-1; idex=0; } void add_head(int x){ n[idex]=x; ne[idex]=head; head=idex++; } void add(int k,int x){ n[idex]=x; ne[idex]=ne[k]; ne[k]=idex++; } void delet(int k){ ne[k]=ne[ne[k]]; } int main(void){ int num; std::cin>>num; init(); while(num--){ int k,x; char a; std::cin>>a; if(a=='H'){ std::cin>>x; add_head(x); } else if(a=='D'){ std::cin>>k; if(!k)head=ne[head]; else delet(k-1); } else{ std::cin>>k>>x; add(k-1,x); } } for(int i=head;i!=-1;i=ne[i])std::cout< 之所以用std::是因为我觉得帅,hhh。



