用图说话
选择排序
放码过来
void SelectionSortClass::selectionSort(vector<int> testData)
{
vector<int> array = testData;
// 第一个for循环,拿无序序列的值,当做最小值
for (int i=0; i<array.size()-1; i++) {
// 首先拿无序数组的第一个数的下标当作最小值,然后在一个for来遍历这个无序数组,比较出最小值
// 记录最小值下标
int min = i;
// 用这个最小值来遍历无序序列,找出比这个最小值还小的
for (int j=i+1; j<array.size(); j++) {
if (array[min] < array[j]) {
min = j;
}
}
// 找到无序序列的最小值后,插入有序序列
if (array[i] != array[min]) {
swap(array[min], array[i]);
}
}
cout << "还未开始选择排序的数据" << endl;
for (int i=0; i<testData.size(); i++) {
cout << testData[i] << endl;
}
cout << "选择排序后的数据" << endl;
for (int i=0; i<array.size(); i++) {
cout << array[i] << endl;
}
}
code地址
https://github.com/ChenZeBin/TheDataStructureByUsingCpp.git
网友评论