1
2024-11-09 11:05:07
发布于:浙江
#include <bits/stdc++.h>
using namespace std;
struct node{
int data;//存储当前节点的值
node *next;//存储下一个节点的地址
};
int main(){
node *head,*r;//定义头结点和尾结点
head = new node;//动态申请内存空间
head->next=NULL;//指针域初始化为空,表示没有下一个节点;
r=head;//此时的头节点也是尾结点
/创建新结点p,
定义新结点p,
动态申请内存空间,
指针域初始化为空/
node *p;
int n,x;
cin>>n;
for(int i=1;i<=n;i++){
cin>>x;
p=new node;
p->data=x;
p->next=NULL;
/*把新结点p链接到链表的后面,
尾结点r的next指向p
p为新的尾结点*/
r->next=p;
r=p;
}
p=head;
while(p->next!=NULL){
/*使用p作为当前结点,从头开始遍历,
判断下一个结点是否为空,
输出下一个结点的 数据,
下一个结点更新为新的p结点p->next=p->next->next;
s->next=p->next;
p->next=s;
r->next=head;
*/
cout<<p->next->data<<" ";
p=p->next;
}
return 0;
}
这里空空如也
有帮助,赞一个