【排序思想】
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。
定义基准数 在开始排序的过程中,将数组的第一个数作为基准数, 用于i和j对应的数进行比较, 将较小的数放在基准数的右侧,将较大的数放到基准数的右侧。在一趟排序完毕后,基准数的右侧放的都是无序的比基准数小的数 在基准数右侧放的都是无序的比基准数较大的数。例如:3,1,12(基准数),23,435,56,73 所以在此对基准数左右的无序“大小数”进行再次排序。
【代码演示】
package com.myjava.selectsort;
import java.util.Arrays;
/**
*
* @author xiao er:
*
* @version 创建时间:2019年3月28日 下午9:12:30
*
* 类说明 :选择排序 排序思想:将一个数组中的第一个数和之后的每个数进行比较,当遇到比它小的数时,将进行调换位置
*/
public class SelectionSort {
public static void sort(int[] arr) {
for (int i = 0; i < arr.length - 1; i++) { // 排序的趟数:进行比较到倒数第二个元素时就已经比较完毕
for (int j = i + 1; j < arr.length; j++) { // 和每i之后的数进行比较
if (arr[i] > arr[j]) {// 如果第一个比第第二个数大,则进行换位
int temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
}
}
public static void main(String[] args) {
int arr[] = {12,324,456,5423,3,67,78};
System.out.println("排序前:"+Arrays.toString(arr));
sort(arr);
System.out.println("排序后:"+Arrays.toString(arr));
}
}
排序算法大全:https://blog.csdn.net/mirror_w/article/category/8856271
小二课堂:https://blog.csdn.net/Mirror_w