#include <iostream.h>
struct node{
int data;
node *next;
};
//创建一个单向链表
node *create(){
node *head,*p1,*p2;
head=0;
int a;
cin>>a;
while(a!=-1){
p1=new node;
p1->data=a;
if(head==0){
head=p1;
p2=p1;
}
else{
p2->next=p1;
p2=p1;
}
cin>>a;
}
if(head)
p2->next=0;
return head;
}
//用指针实现逆序
node *reverse(node *head){
node *p,*q,*temp;
p=head;
q=p->next;
while(q!=NULL){
temp=q->next;
q->next=p;
p=q;
q=temp;
}
head->next=0;
return p;
}
void print(const node *head){
const node *p;
p=head;
while(p){
cout<<p->data<<'/t';
p=p->next;
}
}
void main(){
node *head,*end;
head=create();
print(head);
cout<<endl;
end=reverse(head);
print(end);
}
struct node{
int data;
node *next;
};
//创建一个单向链表
node *create(){
node *head,*p1,*p2;
head=0;
int a;
cin>>a;
while(a!=-1){
p1=new node;
p1->data=a;
if(head==0){
head=p1;
p2=p1;
}
else{
p2->next=p1;
p2=p1;
}
cin>>a;
}
if(head)
p2->next=0;
return head;
}
//用指针实现逆序
node *reverse(node *head){
node *p,*q,*temp;
p=head;
q=p->next;
while(q!=NULL){
temp=q->next;
q->next=p;
p=q;
q=temp;
}
head->next=0;
return p;
}
void print(const node *head){
const node *p;
p=head;
while(p){
cout<<p->data<<'/t';
p=p->next;
}
}
void main(){
node *head,*end;
head=create();
print(head);
cout<<endl;
end=reverse(head);
print(end);
}