数据结构之逆序建表

 #include 
#include 
struct node
{
    int data;
    struct node*next;
};
struct node * creat(int n)
{
 struct node *head,*p;
 int i;
 head=(struct node*)malloc(sizeof(struct node));
 head ->next=NULL;
 for(i=1;i<=n;i++)
 {
     p=(struct node *)malloc(sizeof(struct node));
     scanf("%d",&p->data);
     p->next=NULL;
     p->next=head->next;
     head->next=p;
 }
 return (head);
}
 void print(struct node * head)
{
    struct node *p;
    p=head->next;
    while(p!=NULL)
    {
        printf("%d",p->data);
        if(p->next!=NULL)
        {
            printf(" ");
        }
        else
        {
            printf("\n");
        }
        p=p->next;
    }

}
int main()
{
    int N;
    struct node * head;
    scanf("%d",&N);
    head=creat(N);
    print(head);
    return 0;
}

你可能感兴趣的:(数据结构)