#include<iostream>
using namespace std;
typedef struct Node
{
int data;
struct Node *next;
}Node,*LinkList;
int main()
{
LinkList L;
L=new Node;
L->next=NULL;
Node *p;
p=L->next;
Node *r;
r=L;
while(true)
{
int n;
cin>>n;
if(n==0)
break;
p=new Node;
p->data=n;
r->next=p;//后插法
r=p;
r->next=NULL;
}
Node *k,*g;
k=L->next;
L->next=NULL;//把L链表置为空
while(k!=NULL)
{
g=k->next;//记当前结点的下一个结点,使得k一直后移
k->next=L->next;
L->next=k;
k=g;
}
Node *q;
q=L->next;
while(q!=NULL)
{
cout<<q->data<<" ";
q=q->next;
}
return 0;
}
单链表就地逆置(不申请空间)
最新推荐文章于 2023-10-13 20:30:00 发布