数据结构实验之链表一:顺序建立链表(SDUT 2116)

Problem Description

输入N个整数,按照输入的顺序建立单链表存储,并遍历所建立的单链表,输出这些数据。

Input

第一行输入整数的个数N;
第二行依次输入每个整数。

Output

输出这组整数。

Sample Input

8

12 56 4 6 55 15 33 62

Sample Output

12 56 4 6 55 15 33 62

Hint

不得使用数组!

#include <bits/stdc++.h>

using namespace std;

struct node
{
    int data;
    struct node *next;
};
int main()
{
    int n;
    struct node *head, *tail, *p;
    head = new node;
    head -> next = NULL;
    tail = head;
    scanf("%d",&n);
    for(int i = 0; i < n; i ++)
    {
        p = new node;
        p -> next = NULL;
        scanf("%d", &p -> data);
        tail -> next = p;
        tail  =  p;
    }
    for(p = head -> next ; p != NULL; p = p -> next)
    {
        if(p == head -> next)
            printf("%d",p->data);
        else
            printf(" %d",p->data);
    }
    printf("
");
    return 0;
}