「这是我参与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等等。