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

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

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;

}

 

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