蓝桥杯之--数列排序

175 阅读2分钟

「这是我参与2022首次更文挑战的第2天,活动详情查看:2022首次更文挑战」。

前言

最近参加了2022年三月份的蓝桥杯比赛,所以计划学习算法和数据结构相关知识,但是平时都是学习不持续,所以希望借此机会来学习此知识点。因为我是在校大三学生,所以后续的算法相关代码都是使用Java语言来进行完成。本文更新的是蓝桥杯算法题之--数列排序。

题目

小明想随便从键盘上输入五个数,在输入完毕后进行从小到大的排序

示例

  • 输入第一行:5
  • 输入第二行:2 3 5 1 6
  • 输出:1,2,3,5,6

题解

import java.util.*;

public class sort {
    public static void main(String[] args) {
//        样例输入
//        5
////      8 3 6 4
// 输出  3 4 6 8
        Scanner scanner =new Scanner(System.in);
        System.out.println("请输入五个整数:");
        List list =new ArrayList<>();
        int[] a1=new int [5];
        for (int i = 0;i<5;i++){
            int j=scanner.nextInt();
            list.add(j);

        }
        System.out.println("按照从小到大排序:");
        Collections.sort(list);
        System.out.println(list);
    }
}

分析

    • 从键盘读入的话使用new一个scanner对象,这个是Java常用从键盘读入的一种方式。然后因为是输入五个数值,那我们可以使用集合中的collection集合中的ArrayList来创建此集合(因为要考虑到数值会有重复),所以选择collecion中的List的ArrayList来创建。(补充:如果使用的是不可重复的,即选择set)。然后调用List中的add的方法,依次对集合中添加数值。
    • 在集合中,分为单列collection集合和双列Map集合,单双列之间的区别在于键值对。其次collection中划分为可重复List和不可重复Set,那么ArrayList是我们常用中,其实还有LinkedList但初学者可能就用的不多,Set中又TreeSet和HashSet。那么键值对Map又被划分为HashMap等等。