1 冒泡排序法
理论逻辑:从前向后遍历,数组中前后两个数进行比较,拿从大到小排序举例子,这时候就需要把大的数拎出来赋值,我们可以利用“三变量交换法”把两个数的数值进行交换,一轮比较赋值过后然后再次循环,最终可以得到咱们想要的顺序
演示如下
这里用的是随机数来排序,关键点从注释开始,因为中间可能存在已经排序结束的情况,咱们可以用“flag” 来定义满足比较条件的循环(有变换赋值的情况),不满足的直接用break跳出
2 插入排序
理论逻辑:从第二个值开始,向后拓展轮数,并且从后向前开始遍历,执行插入的过程
代码演示如下
先定义每轮要插入的数(由i来决定),然后用boolean来查看值是否插入,再定义j来从后向前遍历,-1的原因是不需要和自身来比较,仍然用双循环结构来完成,主要还是通过赋值来实现插入
3 选择排序
逻辑理论:每一轮选定一个基准值,然后向后遍历,找到一个最小值,交换位置
演示如下
先定义基准值和基准值位置,然后再每一轮中找最小值,并且记录最小值的值和位置,循环结束后把最小值位置的值和基准值互换,每次循环都可以找到最小的数
4 大招来了!!
如果要求只是按顺序排列的话, 其实咱们可以直接一步到位,直接输入Arrays.sort(a);a是数组就可以直接排序了,
如果想要逆序排列的话,可以直接定义新数组,数据互换,重新赋值就好了,具体如下