1)分析
例如:我们如何将数组 [5,4,3,2,1] 进行从小到大的顺序排序
1、首先我们可以让数据之间进行两两的大小比较
2、如果第一个值大于第二个值就将两个值进行交换
3、以此类推,直到将最大值放到最后方
4、拆解如下
数组为 5 4 3 2 1 每次将最大值放到最后方
第一次大循环:
① 5 和 4 进行比较得出:
4 5 3 2 1
②5 和 3 进行比较得出:
4 3 5 2 1
③5 和 2 进行比较得出:
4 3 2 5 1
④5 和 1 进行比较得出:
4 3 2 1 5
第二次大循环:
①4 和 3 进行比较得出:
3 4 2 1 5
②4 和 2 进行比较得出:
3 2 4 1 5
③4 和 1 进行比较得出:
3 2 1 4 5
第三次循环:
①3 和 2 进行比较得出:
2 3 1 4 5
②3 和 1 进行比较得出:
2 1 3 4 5
第四次循环
①2 和 1 进行比较得出:
1 2 3 4 5
2)代码展示如下
package com.wu.array; import java.lang.reflect.Array; import java.util.Arrays; public class Demo02 { //定义一个正序排列的方法 public static int[] sort(int[] array){ //定义中间变量的初始值 int a = 0; //外循环 循环次数为长度-1次 for (int i = 0; i < array.length-1 ; i++) { //内循环 循环次数为长度-1 -外循环次 for (int j = 0; j < array.length-1-i ; j++) { //判断相邻两个数的大小 if (array[j] > array[j+1]){ //交换两者的值 a = array[j]; array[j] = array[j+1]; array[j+1] = a; } } } //返回数组 return array; } public static void main(String[] args) { //定义数组初始值 int[] a = {5,4,3,2,1}; //调用sort()方法 int[] b = sort(a); //输出数组 System.out.println(Arrays.toString(b)); } }