链表B 逆序建立链表

来源:互联网 发布:手机淘宝怎么修改价格 编辑:程序博客网 时间:2024/05/21 06:45

Problem Description
输入整数个数N,再输入N个整数,按照这些整数输入的相反顺序建立单链表,并依次遍历输出单链表的数据。
Input
第一行输入整数N;;
第二行依次输入N个整数,逆序建立单链表。
Output
依次输出单链表所存放的数据。
Example Input
10
11 3 5 27 9 12 43 16 84 22
Example Output
22 84 16 43 12 9 27 5 3 11
Hint
不能使用数组!

#include <stdio.h>#include <stdlib.h>struct node{    int data;    struct node *next;};int main(){    struct node *head,*p;    head = (struct node * )malloc(sizeof(struct node));    head->next = NULL;    int i,n;    scanf("%d",&n);    for(i=0;i<n;i++)    {         p = (struct node * )malloc(sizeof(struct node));         scanf("%d",&p->data);         p->next = head->next;   //第一个插入的为最后一个节点         head->next = p;    }    p = head->next;    printf("%d",p->data);    p = p->next;    for(i=1;i<n;i++)    {        printf(" %d",p->data);        p = p->next;    }    printf("\n");    return 0;}
原创粉丝点击