初学者。如果有误请指正,欢迎联系QQ2684162190
#include<stdio.h>
#include<stdlib.h>
typedef struct head
{
int date;
struct head* next;
}Link,*Plink;
Plink crea()
{
Plink node=(Plink)malloc(sizeof(Link));
node->date = 0;
node->next = NULL;
return node;
}
void add(Plink head,int x)
{
Plink node = crea();
node ->date = x;
Plink p,q;
p=head;
if(head->next==NULL)
{
head->next=node;
}
else
{
while(p->next!=NULL)
{
p=p->next;
}
p->next = node;
}
}
Plink fan(Plink head) //链表反转
{
Plink pre,cur=head,nex;
pre=head->next;
cur=pre->next;
pre->next=NULL;
while(nex->next!=NULL)
{
nex=cur->next;
cur->next=pre;
pre=cur;
cur=nex;
}
head->next=nex;
return head;
}
int main()
{
Plink head,p;
head = crea();
p=head;
int n,x,i=0;
scanf("%d",&n);
while(i<n)
{
scanf("%d",&x);
add(head,x);
i++;
}
while(head->next!=NULL)
{
head=head->next;
printf("%d ",head->date);
}
printf("\n");
p=fan(head);
while(p->next!=NULL)
{
p=p->next;
printf("%d ",head->date);
}
return 0;
}