zoukankan      html  css  js  c++  java
  • 数据结构实验之链表一:顺序建立链表

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

    Time Limit: 1000MS Memory Limit: 65536KB

    Submit Statistic

    Problem Description

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

    Input

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

    Output

    输出这组整数。

    Example Input

    8
    12 56 4 6 55 15 33 62

    Example Output

    12 56 4 6 55 15 33 62
    #include <iostream>
    #include <stdlib.h>
    #include <malloc.h>
    using namespace std;
    #define LISTSIZE 1000
    #define LISTMAX 100
    typedef int Elemtype;
    typedef struct LNode
    {
        Elemtype data;
        struct LNode *next;
    }LNode,*LinkList;
    LNode *createLNode(int n)
    {
        int i;
        LNode *head,*p,*tail;
        head = (LNode *)malloc(sizeof(LNode));
        head->next = NULL;
        tail = head;
        for(i=0;i<n;i++)
        {
            p = (LNode *)malloc(sizeof(LNode));
            cin>>p->data;
            tail->next = p;
            tail = p;
        }
        return head;
    }
    void display(struct LNode *head)
    {
        LNode *p;
        p = head->next;
        while(p!=NULL)
        {
            if(p->next==NULL)
            {
                cout<<p->data<<endl;
            }
            else
            {
                cout<<p->data<<" ";
            }
            p=p->next;
        }
    }
    int main()
    {
        LNode *L;
        int n;
        cin>>n;
        L = createLNode(n);
        display(L);
        return 0;
    }
    
    
    
    

    缩减版

    #include <iostream>
    #include "stdio.h"
    #include "malloc.h"
    struct node{
        int data;
        node *next;
    };
    node *create(int n){
        node *head,*tail,*p;
        head = (node *)malloc(sizeof(node));
        head->next = NULL;
        tail = head;
        for (int i = 0; i < n; ++i) {
            p = (node *)malloc(sizeof(node));
            p->next = NULL;
            scanf("%d",&p->data);
            tail->next = p;
            tail = tail->next;
        }
        return head;
    }
    void disploy(node *head){
        node *p = head->next;
        while (p->next){
            printf("%d ",p->data);
            p = p->next;
        }
        printf("%d\n",p->data);
    }
    
    int main() {
        int n;
        scanf("%d",&n);
        disploy(create(n));
        return 0;
    }
  • 相关阅读:
    403
    311
    401
    310
    308
    309
    307
    304
    3-1
    2-11
  • 原文地址:https://www.cnblogs.com/CCCrunner/p/11782153.html
Copyright © 2011-2022 走看看