数据结构之 线性表--顺序创建链表

数据结构实验之链表一:顺序建立链表

Time Limit: 1000MS Memory limit: 65536K

题目描述

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

输入

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

输出

输出这组整数。

示例输入

8
12 56 4 6 55 15 33 62

示例输出

12 56 4 6 55 15 33 62

写的时候,定义一个结构体变量就要为它申请空间不然程序会运行时出问题
#include <iostream>
#include <string>
#include <string.h>
#include <stdio.h>
#include <algorithm>
#include <algorithm>

using namespace std;

struct node
{
    int data;
    struct node *next;
};

int main()
{
    int n;
    int i, j;

    struct node *head;
    head=(struct node*)malloc(sizeof(struct node));  // 重点

    head->next=NULL;
    struct node *tail, *p;
    tail=head;

    cin>>n;
    for(i=0; i<n; i++)
    {
        p=(struct node *)malloc(sizeof(struct node));  // 重点
        scanf("%d", &p->data );
        p->next=NULL;
        tail->next=p;
        tail=p;
    }
    for(j=0; j<n; j++)
    {
        if(j==0)
        cout<<head->next->data;
        else
        cout<<" "<<head->next->data;
        head=head->next;
    }
    cout<<endl;

    return 0;
}

 

#include <iostream>
#include <string>
#include <string.h>
#include <stdio.h>
#include <algorithm>
#include <algorithm>

using namespace std;

struct node
{
    int data;
    struct node *next;
};

int main()
{
    int n;
    int i, j;

    struct node *head;
    head= new struct node;  // 用C++的new 申请空间也行!

    head->next=NULL;
    struct node *tail, *p;
    tail=head;

    cin>>n;
    for(i=0; i<n; i++)
    {
        p=new struct node;
        scanf("%d", &p->data );
        p->next=NULL;
        tail->next=p;
        tail=p;
    }
    for(j=0; j<n; j++)
    {
        if(j==0)
        cout<<head->next->data;
        else
        cout<<" "<<head->next->data;
        head=head->next;
    }
    cout<<endl;

    return 0;
}

 

posted @ 2014-11-11 16:39  我喜欢旅行  阅读(397)  评论(0编辑  收藏  举报