输入:1 3 4 5 2 0
输出 :1 2 3 4 5
利用简单选择排序法:每一趟选出最小值,按顺序放在序列前,直到全部排完为止。
C++代码:
#include <iostream>
using namespace std;
int main()
{
int i=0,j,k,t;
int num[20],n;
cin>>num[0];
while(num[i]!=0)
{
i++;
cin>>num[i];
}
n=i;
for(i=0; i<n-1; i++)
{
k=i;
for(j=i+1; j<n; j++)
{
if(num[j]<num[k])
k=j;//k指向此趟排序中最小数字下标
}
if(k!=i)
{
t=num[i];
num[i]=num[k];
num[k]=t;
}
}
for(i=0; i<n; i++)
cout<<num[i]<<" ";
return 0;
}
C代码改头文件以及输入输出函数即可。