用选择法对10个整数按从小到大排序(数组)

用选择法对10个整数按从小到大排序,要求使用数组。


算法思想:

第一次选择:从10个整数中挑出当中最小的整数,拿出来;

第二次选择:从余下的9个整数中挑出当中最小的整数,拿出来,放到上一次挑出的数的后面。

第三次选择:从余下的8个整数中挑出当中最小的整数。拿出来,放到上一次挑出的数的后面。

…………

以此类推。直到所有挑完。


#include "stdafx.h"
#include<iostream>
using namespace std;


int _tmain(int argc, _TCHAR* argv[])
{
cout<<"请输入10个整数"<<endl;
int a[10],i,b[10],j,n=0;
for(i=0;i<10;i++)
{
cin>>a[i];         //输入10个数,依次放到数组a里。
}
for(j=1;j<=10;j++)         //共要进行10次选择
{
for(i=0;i<10-j;i++)              //这个循环将挑出余下数中最小的数
{
int t;
if(a[i]<a[i+1])
{
t=a[i];a[i]=a[i+1];a[i+1]=t;
}
}
b[n]=a[10-j];           //将挑出的数依次放到数组b里
n++;
}


for(n=0;n<10;n++)
{
cout<<b[n]<<" ";       //按顺序输出数组b里存放的数
}
return 0;
}

原文地址:https://www.cnblogs.com/yjbjingcha/p/6917636.html