Code :
/*
//选择排序伪代码
找到A中最小元素 将其与A[1]交换
接着找到次小元素 与A[2]交换
SELECTION-SORT(A)
for i=1 to n-1
j = MIN(A,i,n)
exchange A[i]<->A[j]
times n平方
*/
#include <iostream>
#include <string.h>
using namespace std;
int A[10];
void swap(int a,int b)
{
int t;
t=A[a]; A[a]=A[b]; A[b]=t;
}
int min(int s,int e){
int f = s;
for(int i=s; i<e;i++){
if(A[f]>A[i]){
f = i;
}
}
return f;
}
int main(){
int i,j,key;
for(i=0;i<sizeof(A)/sizeof(A[0]);i++){
cin>>A[i];
}
for(j=0;j<(sizeof(A)/sizeof(A[0])) - 1;j++){
swap(min(j,sizeof(A)/sizeof(A[0])) ,j);
}
cout<<endl;
for(i=0;i<sizeof(A)/sizeof(A[0]);i++){
cout<<A[i]<<" ";
}
return 0;
}
时间复杂度 O(n^2)