说明
1.从当前未排序的整数中找一个最小的整数,将它放在已排序的整数列表的最后。
2.要点:选择排序时选最小的,往左边选。
3.想像:一条手绢(作为标记)
4.冒泡排序 与 选择排序都是低级排序
代码
#include <iostream>
using namespace std;
void SelectSort(int [],int);
int main()
{
int array[] {1,4,3,6,9,7,8,2,0,5};
SelectSort(array,10);
cout<<"选择排序后的结果为:"<<endl;
for(int i=0;i<10;i++){
cout<<array[i]<<" ";
}
return 0;
}
void SelectSort(int list[],int n){
for(int i=0;i<n;i++){ //i为已排序元素的下标
int minIndex = i; //minIndex为已排序元素中最后一个元素的下标
for(int j=i+1;j<n;j++){ //j为未排序元素的下标
if(list[minIndex]>list[j]){
minIndex = j;
}
}
if(minIndex!=i){ //防止同一元素进行交换
swap(list[i],list[minIndex]);
}
}
}
选择排序后的结果为:
0 1 2 3 4 5 6 7 8 9