• 数据结构实验之链表二:逆序建立链表


     

    数据结构实验之链表二:逆序建立链表

    Time Limit: 1000MS Memory Limit: 65536KB

    Submit Statistic

    Problem Description

    输入整数个数N,再输入N个整数,按照这些整数输入的相反顺序建立单链表,并依次遍历输出单链表的数据。

    Input

    第一行输入整数N;;
    第二行依次输入N个整数,逆序建立单链表。

    Output

    依次输出单链表所存放的数据。

    Example Input

    10
    11 3 5 27 9 12 43 16 84 22 

    Example Output

    22 84 16 43 12 9 27 5 3 11 

    #include <stdio.h>

    #include <stdlib.h>
    #include <malloc.h>
    typedef struct lnode
    {
    int data;
    struct lnode *next;
    }Lnode;
    Lnode *create(int n)
    {
    Lnode *p,*q,*head,*tail;
    head = (Lnode *)malloc(sizeof(Lnode));
    head->next = NULL;
    int i;
    for(i=0;i<n;i++)
    {
            p = (Lnode *)malloc(sizeof(Lnode));
    scanf("%d",&p->data);
    p->next = head->next;
    head->next = p;
    }
    return head;


    }
    void display(Lnode *head)
    {
    Lnode *p=head->next;
    while(p)
    {
    if(p->next!=NULL)
    {
    printf("%d ",p->data);
    }
    else
    { printf("%d\n",p->data);
    }
    p=p->next;
    }
    }
    int main()
    {
    Lnode *head;
    int n;
    scanf("%d",&n);
    head = create(n);
    display(head);
    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);
            p->next = tail->next;
            tail->next = p;
        }
        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;
    }
    
     
  • 相关阅读:
    i++与++i
    acm语录
    c# SQL2000 access 远程连接操作
    C# 四舍五入函数
    WINDOWS 2003 远程桌面记录登陆IP
    jquery 资源
    php google baidu 分页
    Solutions to place plus or minus signs to a nonzero digits sequence 123456789 so that result of thus described arithmetic opera
    VB获取网页下文字的链接地址
    php cache 缓存方法类一
  • 原文地址:https://www.cnblogs.com/CCCrunner/p/11782154.html
Copyright © 2020-2023  润新知