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

发布时间:2024-01-19 16:46:23

冒泡排序

  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]+"  ");
 ? ? ?  }
 ?  }
?
}

文章来源:https://blog.csdn.net/zhzjn/article/details/135699786
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。