c\c++版
void selection_sort(int *arr, int len)
{
for (int i = 0; i < len; ++i)
{
int min = i;
for (int j = i + 1; j < len; ++j)
if (arr[min] > arr[j])
min = j;
if (min != i)
{
arr[min] = arr[i] ^ arr[min];
arr[i] = arr[i] ^ arr[min];
arr[min] = arr[i] ^ arr[min];
}
}
}
java版
public static void selectionSort(int[] arr) {
for (int i = 0; i < arr.length; ++i) {
int min = i;
for (int j = i; j < arr.length; ++j) {
if (arr[min] > arr[j])
min = j;
}
if (min != i) {
arr[min] = arr[i] ^ arr[min];
arr[i] = arr[i] ^ arr[min];
arr[min] = arr[i] ^ arr[min];
}
}
}
python 版
def selection_sort(l):
if not type(l) is list:
return
if l == None:
return
length = len(l)
for i in range(length):
min = i
j = i + 1
while(j < length):
if l[min] > l[j]:
min = j
j += 1
if min != i:
l[min] = l[i] ^ l[min]
l[i] = l[i] ^ l[min]
l[min] = l[i] ^ l[min]
javascript版
function selection_sort(arr) {
if(!arr instanceof Array) return;
for (let i = 0; i < arr.length; ++i) {
let min = i;
for (let j = i + 1; j < arr.length; ++j) {
if (arr[min] > arr[j]) min = j;
}
if (min != i) {
arr[min] = arr[i] ^ arr[min];
arr[i] = arr[i] ^ arr[min];
arr[min] = arr[i] ^ arr[min];
}
}
}
本文详细介绍了选择排序算法在多种编程语言中的实现,包括C/C++、Java、Python和JavaScript。每种实现都遵循了基本的选择排序逻辑,通过查找未排序部分的最小元素并将其放置在正确位置来对数组进行排序。
4712

被折叠的 条评论
为什么被折叠?



