(递归实现选择排序)请完善下面的程序,读入n个整数,用选择排序对这n个数从小到大排序后输出。
输入:
共2行。
第一行一个整数n((1 ≤ n ≤ 100)。
第二行用空格分隔的n个数。
输出:
共一行,经过排序后的n个整数。整数之间用一个空格分隔。
输入样例:
10
1 3 2 6 3 4 9 8 7 2
输出样例:
1 2 2 3 4 5 6 7 8 9
#include <iostream>
using namespace std;
int a[100],n;
void SelectSort(int s, int e) //对数组元素a[s]到a[e]从小到大排序;
{
if (e>s)
{
int k=s;
for (int i=s+1; i<=e; i++)
if(a[i]<a[k])
k=i;
if ( k!=s )
{
int temp=a[k];
a[k]=a[s] ;
a[s]=temp;
}
SelectSort(s+1,e) ;
}
}
int main()
{
cin>>n;
for (int i=1; i<=n; i++)
cin>>a[i];
SelectSort(1,n) ;
for (int i=1; i<n或 i<=n-1 ; i++)
cout<<a[i]<<' ';
cout<<a[n]<<endl;
return 0;
}