冒泡排序,选择排序,jdk排序

冒泡排序

  1. 原理: 让相邻位置的值进行比较,根据比较结果决定是否换位

  2. 特点: 每轮比较之后,都会从后往前确定一个位置的元素

  3. 实现: 外层循环表示比较轮数,内层循环表示比较次数和下标

int[] a = {88,26, 71,12, 1};
​
        for (int i = 1; i < a.length; i++) {//外层-轮数
            for (int j = 0; j < a.length-i ; j++) {//内层-比较下标范围
               //让相邻元素进行比较: j-(j+1)
                if (a[j + 1] < a[j]) {//从小到大:<  从大到小:>
                    //交换位置
                    int temp = a[j];
                    a[j] = a[j + 1];
                    a[j + 1] = temp;
                }
            }
        }

选择排序

  1. 原理:固定一个下标位置,使其他下标位置与固定下标位置的值进行比较,根据比较结果决定是否换位

  2. 特点: 每轮比较之后,固定下标位置的值可以被确定

  3. 实现: 外层循环表示固定下标,内层循环表示与其比较的下标

int[] a = {88, 26, 71, 12, 1};
​
        for (int i = 0; i < a.length - 1; i++) {//外层-固定下标
            for (int j = i+1; j < a.length; j++) {//内层-与固定位置比较的下标
                //让下标i与下标j元素的值进行比较
                if (a[j] > a[i]) {//从小到大:< 从大到小:>
                    int temp = a[i];
                    a[i] = a[j];
                    a[j] = temp;
                }
            }
        }

JDK排序

  • java.util.Arrays.sort(数组名):对数组内容进行从小到大的排序

import java.util.Arrays;
​
public class Test9 {
    public static void main(String[] args) {
        int[] a = {88, 26, 71, 12, 1};
​
        Arrays.sort(a);
​
        for (int i = 0; i < a.length; i++) {
            System.out.print(a[i]+"  ");
        }
    }
​
}

你可能感兴趣的:(java,java,排序算法,算法)