数据结构实验之链表三:链表的逆置

来源:互联网 发布:阿里云大厦是做什么的 编辑:程序博客网 时间:2024/06/07 20:25

题目描述

输入多个整数,以-1作为结束标志,顺序建立一个带头结点的单链表,之后对该单链表的数据进行逆置,并输出逆置后的单链表数据。

输入

输入多个整数,以-1作为结束标志。

输出

输出逆置后的单链表数据。

示例输入

12 56 4 6 55 15 33 62 -1

示例输出

62 33 15 55 6 4 56 12

提示

不得使用数组。

 

 

 

 

#include <bits/stdc++.h>using namespace std;struct node{    int data;    struct node *next;};int main(){    struct node *head,*tail,*r,*p,*q;    head=new node;    head->next=NULL;    tail=head;    while(1)    {        q=new node;        cin>>q->data;        if(q->data==-1)            break;        q->next=NULL;        tail->next=q;        tail=q;    }    p=head->next;    q=head;    head->next=NULL;    while(p!=NULL)    {        r=p->next;        p->next=q;        q=p;        head=p;        p=r;    }    p=head;    while(p->next!=NULL)    {        cout<<p->data<<" ";        p=p->next;    }    cout<<endl;    return 0;}


 

0 0