zoukankan      html  css  js  c++  java
  • HUST-遍历链表

    题目描述

    建立一个升序链表并遍历输出。

    输入描述:

    输入的每个案例中第一行包括1个整数:n(1<=n<=1000),接下来的一行包括n个整数。

    输出描述:

    可能有多组测试数据,对于每组数据,
    将n个整数建立升序链表,之后遍历链表并输出。
    示例1

    输入

    4
    3 5 7 9
    

    输出

    3 5 7 9

    思路:本题我的做法中涉及尾插法建立单链表以及遍历单链表输出data值
    #include <cstdio>
    #include <cstring>
    #include <iostream>
    #include <algorithm>
    #include <vector>
    using namespace std;
    typedef struct LNode{   //定义单链表结点类型
        int data;           //数据域
        struct LNode *next; //指针域
    }LNode,*LinkList;
    LinkList L;
    vector<int> vec;
    int n,num;
    LinkList List_TailInsert(LinkList &L);
    void outPutValue(LinkList L);
    int main()
    {
        while(cin>>n)
        {
            for(int i=0;i<n;i++)
            {
                cin>>num;
                vec.push_back(num);
            }
            sort(vec.begin(),vec.end());
            List_TailInsert(L);
            outPutValue(L);
        }
        return 0;
    }
    //尾插法建立带头结点的链表
    LinkList List_TailInsert(LinkList &L)
    {
        int i=0;
        L=(LinkList)malloc(sizeof(LNode));
        LNode *s,*r=L;                     //r为表尾指针
        while(i<vec.size())
        {
            s=(LNode*)malloc(sizeof(LNode));
            s->data=vec[i];
            r->next=s;
            r=s;
            i++;
        }
        r->next=NULL;
        return L;
    }
    void outPutValue(LinkList L)
    {
        LNode *s=L->next;
        while(s!=NULL)
        {
            cout<<s->data<<" ";
            s=s->next;
        }
    }
     
    天晴了,起飞吧
  • 相关阅读:
    [718. 最长重复子数组]
    排序算法--归并,堆,快速排序
    改进的插排--希尔排序
    排序算法--选泡插
    对封装继承多态的理解
    Servlet[springmvc]的Servlet.init()引发异常
    [面试题 16.18. 模式匹配]
    [124. 二叉树中的最大路径和](
    7.29_python_lx_day11
    7.28_python_lx_day18
  • 原文地址:https://www.cnblogs.com/jianqiao123/p/14370543.html
Copyright © 2011-2022 走看看