排序算法之选择排序
void SelectSort(int *arr, int len)
{
int min = -1;
for(int i = 0; i < len; i++){
min = i;
for(int j = i + 1; j < len; j++){ //内层循环目的是找出数组未排序的最小值
if(arr[min] > arr[j]) //判断是否需要进行交换
min = j; //需要,将当前下标设置为最小值的下标
}
if(min != i){ //如果最小值的下标和未排序数组的首个下标不等,则交换
arr[min] = arr[min] ^ arr[i]; //使用异或的方法进行交换
arr[i] = arr[i] ^ arr[min];
arr[min] = arr[min] ^ arr[i];
}
}
}