选择排序
选择排序是一种比较基础的排序,但是在自己的摸索中也花费了挺多的时间和精力,可能是因为没有太集中精神去写,导致一遍又一遍。
理清逻辑,跟着代码一行行在脑中运行,就能找到自己的错误了。
然而我还是选择了机器帮我去运行,哈哈哈哈哈。
#include <iostream>
using namespace std;
int main() {
int arr[10] = {1, 6, 7, 9, 8, 5, 4, 3, 0, 2};
int length = sizeof(arr)/4;
int change;
int index;
for(int i = 0; i < length - 1; i++){
cout << "第:" << i + 1 << "次" <<endl;
change = arr[i];
for(int j = i; j < length; j++){
if(change > arr[j]){
change = arr[j];
index = j;
cout << "index:" << index <<endl;
}
//我也是个萌新,当时写这个条件的时候忘了加上arr[index] < arr[i]
//大家可以复制代码之后试试有什么神奇的事情发生
if(j == (length-1) && arr[index] < arr[i]){
arr[index] = arr[i];
cout << "arr[index]:" << arr[index] <<endl;
arr[i] = change;
cout << "swap change:" << change <<endl;
}
}
for(int i = 0; i < length; i++){
cout << arr[i] << " ";
}
cout << endl;
}
return 0;
}