package com.wzs;
import java.util.Arrays;
/**
* 算法导论--page16
*
* @author Administrator
*
*/
public class SelectSort {
public static void main(String[] args) {
int arr[] = { 5, 2, 4, 6, 1, 3 };
System.out.println("排序前:" + Arrays.toString(arr));
selectSort(arr);
System.out.println("排序后:" + Arrays.toString(arr));
}
/**
* 选择排序
*
* @param arr
* 需要排序的数组
*/
static void selectSort(int[] arr) {
for (int i = 0, length = arr.length; i < length - 1; i++) {
int smallest = i;
for (int j = i + 1; j < length; j++) {
if (arr[j] < arr[smallest]) {
smallest = j;
}
}
exchange(arr, i, smallest);
}
}
/**
* 交换数组中两个元素的位置
*
* @param arr
* 数组
* @param i
* 数组下标i
* @param j
* 数组下标j
*/
static void exchange(int[] arr, int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
算法导论_选择排序
最新推荐文章于 2020-05-20 17:36:32 发布