-->
当前位置:首页 > 题库 > 正文内容

程序填空题:简单选择排序(递归法)

Luz4年前 (2021-05-10)题库1377
简单选择排序(递归法)。

```c++
#include
#define N 1000
using namespace std;

void SelectSort(int a[],int n,int i)
{ int j,k;
if (@@[i==n-1](2)) return; //满足递归出口条件
else
{k=i; //k记录a[i..n-1]中最小元素的下标
for (j=i+1;j if (a[j] k=j;
if (k!=i) //若最小元素不是a[i]
swap(a[i],a[k]); //a[i]和a[k]交换
@@[SelectSort(a,n,i+1)](2);
}
}

void show(int A[],int n)
{
int i;
for(i=0;i if(i==0)
cout< else
cout<<" "<}

int main()
{
int A[N];
int i,n;
cin>>n;
for(i=0;i cin>>A[i];
SelectSort(A,n,0);
show(A,n);
return 0;
}
```
### 输入样例:
第一行输入一个数n,接下来输入n个数。

```in
7
24 53 45 45 12 24 90
```

### 输出样例:
输出按升序排序的结果。
```out
12 24 24 45 45 53 90
```






答案:
第1空:i==n-1

第2空:SelectSort(a,n,i+1)

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。