資料結構實驗之連結串列一:順序建立連結串列

HowieLee59發表於2019-02-14

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

不得使用陣列!

Source

 

//#include <iostream>
#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;

typedef struct Node{
    int data;
    struct Node *next;
}list;

void creat(list * &L,int a){//建立連結串列(設定一個第三方連結串列用於做轉換)
    list *s;
    list *now;
    L=(list *)malloc(sizeof(list));
    now = L;
    int d;
    for(int i=0;i<a;i++)
    {
        cin >> d;
        s = (list *)malloc(sizeof(list));
        s->data = d;
        now->next = s;
        now = s;
    }
    now->next = NULL;
}

void print(list * &L){
    list *p = L->next;
    while(p!=NULL)//防止出現空指標
    {
        if(p->next!=NULL)
            printf("%d ",p->data);
        else
            printf("%d\n",p->data);
        p = p->next;
    }
}
int main(){
    ios::sync_with_stdio(false);
    list *li;
    int a;
    cin >> a;
    creat(li,a);
    print(li);
    return 0;
}

 

相關文章