SDUT OJ 数据结构实验之链表二:逆序建立链表

 

数据结构实验之链表二:逆序建立链表

Time Limit: 1000 ms Memory Limit: 65536 KiB

Problem Description

输入整数个数N,再输入N个整数,按照这些整数输入的相反顺序建立单链表,并依次遍历输出单链表的数据。

Input

第一行输入整数N;;
第二行依次输入N个整数,逆序建立单链表。

Output

依次输出单链表所存放的数据。

Sample Input

10
11 3 5 27 9 12 43 16 84 22 

Sample 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 *p, *head;
    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;
    while(p->next){
        printf("%d ",p->data);
        p = p->next;
    } printf("%d\n",p->data);
    return 0;
}

 

posted @ 2018-02-25 18:38  Gaojinman  阅读(196)  评论(0)    收藏  举报