复制
收藏
提问
全网

#include<bits/stdc++.h> using namespace std; struct cop{ int d; int Next; }a[105]; int top=0,head=-1; void del(int k){ if(k==0){ head=a[head].Next; } else if(a[k].Next!=-1){ a[k].Next=a[a[k].Next].Next; } } void he(int x){ a[top].Next=head; head=top; a[top].d=x; } void in(int k,int x){ a[top].d=x; a[top].Next=a[k].Next; a[k].Next=top; } int main(){ int m; cin>>m; for(int i=0;i<m;i++){ char word; cin>>word; int x,k; if(word=='H'){ cin>>x; he(x); } else if(word=='D'){ cin>>k; del(k); } else{ cin>>k>>x; in(k,x); } top++; } for(int i=head;i!=-1;i=a[i].Next){ cout<<a[i].d<<" "; } return 0; }

cfdcf4885
1个月前
全网
文档
学术
百科
知识库
时间不限
自动

理解问题#include<bits/stdc++.h> using namespace std; struct cop{ int d; int Next; }a[105]; int top=0,head=-1; void del(int k){ if(k==0){ head=a[head].Next; } else if(a[k].Next!=-1){ a[k].Next=a[a[k].Next].Next; } } void he(int x){ a[top].Next=head; head=top; a[top].d=x; } void in(int k,int x){ a[top].d=x; a[top].Next=a[k].Next; a[k].Next=top; } int main(){ int m; cin>>m; for(int i=0;i<m;i++){ char word; cin>>word; int x,k; if(word=='H'){ cin>>x; he(x); } else if(word=='D'){ cin>>k; del(k); } else{ cin>>k>>x; in(k,x); } top++; } for(int i=head;i!=-1;i=a[i].Next){ cout<<a[i].d<<" "; } return 0; }

已完成理解#include<bits/stdc++.h> using namespace std; struct cop{ int d; int Next; }a[105]; int top=0,head=-1; void del(int k){ if(k==0){ head=a[head].Next; } else if(a[k].Next!=-1){ a[k].Next=a[a[k].Next].Next; } } void he(int x){ a[top].Next=head; head=top; a[top].d=x; } void in(int k,int x){ a[top].d=x; a[top].Next=a[k].Next; a[k].Next=top; } int main(){ int m; cin>>m; for(int i=0;i<m;i++){ char word; cin>>word; int x,k; if(word=='H'){ cin>>x; he(x); } else if(word=='D'){ cin>>k; del(k); } else{ cin>>k>>x; in(k,x); } top++; } for(int i=head;i!=-1;i=a[i].Next){ cout<<a[i].d<<" "; } return 0; }

展开阅读网页

如何优化链表的删除操作以提高效率?
链表插入操作的时间复杂度是多少?
如何实现链表的逆序输出?
链表在实际应用中有哪些常见问题?
如何检测链表中是否存在环?
✏️一键继续回答
更简洁一些
转笔记
简洁
#include<bits/stdc++.h> using namespace std; struct cop{ int d; int Next; }a[105]; int top=0,head=-1; void del(int k){ if(k==0){ head=a[head].Next; } else if(a[k].Next!=-1){ a[k].Next=a[a[k].Next].Next; } } void he(int x){ a[top].Next=head; head=top; a[top].d=x; } void in(int k,int x){ a[top].d=x; a[top].Next=a[k].Next; a[k].Next=top; } int main(){ int m; cin>>m; for(int i=0;i<m;i++){ char word; cin>>word; int x,k; if(word=='H'){ cin>>x; he(x); } else if(word=='D'){ cin>>k; del(k); } else{ cin>>k>>x; in(k,x); } top++; } for(int i=head;i!=-1;i=a[i].Next){ cout<<a[i].d<<" "; } return 0; }
知识树
#include<bits/stdc++.h> using namespace std; struct cop{ int d; int Next; }a[105]; int top=0,head=-1; void del(int k){ if(k==0){ head=a[head].Next; } else if(a[k].Next!=-1){ a[k].Next=a[a[k].Next].Next; } } void he(int x){ a[top].Next=head; head=top; a[top].d=x; } void in(int k,int x){ a[top].d=x; a[top].Next=a[k].Next; a[k].Next=top; } int main(){ int m; cin>>m; for(int i=0;i<m;i++){ char word; cin>>word; int x,k; if(word=='H'){ cin>>x; he(x); } else if(word=='D'){ cin>>k; del(k); } else{ cin>>k>>x; in(k,x); } top++; } for(int i=head;i!=-1;i=a[i].Next){ cout<<a[i].d<<" "; } return 0; }
链表在数据结构中的地位是什么?
链表和数组有什么区别?
双向链表和单向链表有什么不同?

以上内容由AI搜集生成,仅供参考

在线客服