输入格式:第一行,输入n的值表示单链表的元素个数,第二行输入n个整数值作为单链表的各元素值
输出格式:输出倒置后的单链表的各元素值各元素值之间用空格分隔
帮我写一个关于单链表逆置的程序
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
5条回答 默认 最新
Programming_Konjac 2023-09-23 20:18关注#include<bits/stdc++.h> using namespace std; struct node{ int data,next; }a[100005],b[100005]; int cnt=0,cnt2=0,head[100005],head2[100005]; void add(int x,int y){//头插 a[++cnt].data=y; a[cnt].next=head[x]; head[x]=cnt; } void aadd(int x,int y){//头插 b[++cnt2].data=y; b[cnt2].next=head2[x]; head2[x]=cnt2; } int main(){ memset(head,-1,sizeof head); memset(head2,-1,sizeof head2); int n; cin>>n; int aa[n+5]; for(int i=1; i<=n; i++){ cin>>aa[i]; } for(int i=n; i>=1; i--){//头插 add(1,aa[i]); } for(int j=head[1];j!=-1;j=a[j].next){//遍历链表 aadd(1,a[j].data); } for(int j=head2[1];j!=-1;j=b[j].next){//输出链表 cout<<b[j].data<<" "; } return 0; }本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用