#include <stdio.h>
void selection_sort(int unsorted[], int count)
{
for (int i = 0; i < count-1; i++) {
int min = unsorted[i], min_index = i;
for (int j = i; j < count; j++) {
if (unsorted[j] < min) {
min = unsorted[j];
min_index = j;
}
}
if (min_index != i) {
unsorted[i] = unsorted[i]^unsorted[min_index];
unsorted[min_index] = unsorted[min_index]^unsorted[i];
unsorted[i] = unsorted[min_index]^unsorted[i];
}
}
}
int main(int argc, const char * argv[])
{
int x[] = { 6, 2, 4, 1, 5, 9 };
selection_sort(x, 6);
for (int index = 0; index<6; index++) {
printf("%d ",x[index]);
}
printf("\n");
}
原文地址:http://blog.csdn.net/majiakun1/article/details/36867279