void swap(int& a, int& b) { //两数互相交换
int temp = a;
a = b;
b = temp;
}
void selection_sort(int nums[], int len)
{
int min=0;
for (int i = 0; i < len; i++) {
min=i; //定义当前值的下标为最小值下标
for (int j = i+1; j <len; j++) {
if (nums[j] < nums[min]) { //如果有比当前值还小的
min=j; //把更小的值的下标赋值给min
}
}
if(i!=min){ //如果下标为i的值不是最小值,那么把最小值交换到前面
wap(nums[j], nums[i]);
}
}
}
注意:代码中的最小值指的是从下标i往后的序列中的最小值,而不是整个序列的最小值
插入排序 :https://blog.csdn.net/qq_43657442/article/details/103717359
快速排序 :https://blog.csdn.net/qq_43657442/article/details/103716839
冒泡排序 :https://blog.csdn.net/qq_43657442/article/details/103716226