本文共 1364 字,大约阅读时间需要 4 分钟。
选择排序,我认为是排序中最好理解的一种算法了。
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。
import java.util.Arrays;public class Test2 { /* * 选择排序 */ public static void main(String[] args) { //定义一个int类型的数组 int[] arr = {5,3,1,8,2}; /* * 排序 * 外层循环控制轮数(i):轮数=数组长度-1(即arr.length-1) */ for (int i = 0; i < arr.length-1; i++) { /* * 内层循环控制次数 * 第一轮:从下标1开始比较,至末尾(arr.lemgth)结束 * 第二轮:从下标2开始比较,至末尾(arr.lemgth)结束 * 第三轮:从下标3开始比较,至末尾(arr.lemgth)结束 * 第四轮:从下标4开始比较,至末尾(arr.lemgth)结束 * 所以:从下表i+1开始,至末尾结束 */ for (int j = i+1; j < arr.length; j++) { /* * 比较第一个数和后面每个数的大小 * 如果第一个数大于后面的数,则把后面较小的数与其互换位置,依此类推 */ if (arr[i]>arr[j]){ //定义一个临时变量,用来交换两个值 int temp = arr[j]; arr[j] = arr[i]; arr[i] = temp; } } } //利用Arrays打印排序好的数组 System.out.println(Arrays.toString(arr)); }}/* * 输出结果:[1, 2, 3, 5, 8] */
转载地址:http://txiwi.baihongyu.com/