您的位置:首页 > 其它

算法导论_选择排序

2013-02-28 22:54 260 查看
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;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息