Java排序方法
数组中可以放任意数据类型——基本数据类型和应用数据类型
1. 二维数组
需求:如果要保存5个班级,每个班级5个学生的成绩,计算每个班级的总分、平均分。
1.1语法
int[][] scores = new int[3][4]; //二维数组的定义
//int[] aa = {1,2,3};
int[][] aa = {{1,2,3},{1,2,3}}; //静态赋值
1.2内存分析
1.3 注意点
//todo 动态指定每行的长度,需要执行下面的一步,否则在赋值的时候,会出现NumPointException
scores[i] = new int[num];
2.排序
动图参考:https://algorithm-visualizer.org/brute-force/selection-sort
2.1 冒泡排序
必须掌握,最简单、最基本的一个
2.2二分查找
掌握核心思想即可,每次一劈两半,只需要在另一半中查找即可。
数组源码
2.3选择排序
掌握原理即可
排序原理:
- 每一次遍历的过程中,都假定第一个索引处的元素是最小值,和其他元素处的值依次进行比较,如果当前索引处的值大于其他某个索引处的值,则假定其他某个索引处的值为最小值,最后可以找到最小值所在的索引
- 交换第一个索引处的最小值所在的索引处的值
2.4 插入排序
就是玩扑克牌自己排序的过程,假定 2~A ,先拿到2,已经排好序了,后面的只要挨个比较即可。