输入样例
4
1 2 3 4
输出样例
1->2->3->4->NULL
4->3->2->1->NULL
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<stdlib.h>
typedef struct Node{
int date;
struct Node*next;
};
Node* Createlist(int n);
Node* inversion(Node *l);
void print(Node*l);
Node* inversion(Node *l)
{
Node*p=(Node*)malloc(sizeof(Node));
p->date=0;
p->next=NULL;
Node*head;
head=l;
int i=0;
l=l->next;
while(l)
{
head->next=l->next;
l->next=p->next;
p->next=l;
l=head->next;
}
print(p);
}
Node* Createlist(int n)
{
int a;
Node*L=(Node*)malloc(sizeof(Node));
L->next=NULL;
L->date=0;
Node*head=L;
for(int i=0;i<n;i++)
{
Node*p=(Node*)malloc(sizeof(Node));
scanf("%d",&a);
p->date=a;
L->next=p;
L=p;
}
L->next=NULL;
return head;
}
void print(Node*l)
{
l=l->next;
while(l)
{
printf("%d->",l->date);
l=l->next;
}
printf("NULL\n");
}
int main()
{
int n;
scanf("%d",&n);
Node*l= Createlist(n);
print(l);
inversion(l);
return 0;
}