实现思路:
利用循环的方式将数组中的最小的数字依次放到最前面。
例如:613
循环一次:163
循环两次:136
代码实现:
#include<bits/stdc++.h>
using namespace std;
void px(int a[],int len){
for(int i=0;i<len;i++){
int k=i;
for(int j=i+1;j<len;j++){
if(a[j]<a[k]) k=j;
}
if(k!=i) swap(a[i],a[k]);
}
}
int main(){int a[]={5,9,6,2,7,1,8,3};
px(a,8);
for(int m=0;m<sizeof(a)/sizeof(a[0]);m++){
cout<<a[m]<<" " ;
}
}
运行结果如下: