选择排序
我就从所有序列中先找到最小的,然后放到第一个位置。之后再看剩余元素中最小的,放到第二个位置……以此类推,就可以完成整个的排序工作了。可以很清楚的发现,选择排序是固定位置,找元素。时间复杂度O(n*n),空间复杂度O(1);
#include<iostream>
using namespace std;
void SelectSort(int *num,int len){
int i,j,min;
for(i=0;i<len;i++){
min=i;
for(j=i+1;j<len;j++){
if(num[j]<num[min])
min=j;
}
if(min!=i){
int temp=num[i];
num[i]=num[min];
num[min]=temp;
}
}
}
int main(){
int num[10]={2,3,9,6,1,6,4,9,1,9};
SelectSort(num,10);
cout<<"选择排序的结果"<<endl;
for(int i=0; i<10; i++)
cout<<num[i]<<" ";
cout<<endl;
return 0;
}