算法原理:
简单选择排序的基本思想:比较+交换。
- 从待排序序列中,找到关键字最小的元素;
- 如果最小元素不是待排序序列的第一个元素,将其和第一个元素互换;
- 从余下的 N - 1 个元素中,找出关键字最小的元素,重复(1)、(2)步,直到排序结束。
java:
public static void selectSort(int[] array) {
int n = array.length;
for (int i = 0; i < n; i++) {
int minIndex = i;
for (int j = i + 1; j < n; j++) {
if (array[minIndex] > array[j]) {
minIndex = j;
}
}
if (i != minIndex) {
int temp = array[i];
array[i] = array[minIndex];
array[minIndex] = temp;
}
}
}
php:
function selectSort($arr) {
$length = count($arr);
for ($i = 0; $i < $length; $i++) {
$minKey = $i;
for ($j = $i + 1; $j < $length; $j++) {
if ($arr[$minKey] > $arr[$j]) {
$minKey = $j;
}
}
if ($minKey != $i) {
$temp = $arr[$minKey];
$arr[$minKey] = $arr[$i];
$arr[$i] = $temp;
}
}
return $arr;
}