程序填空题:冒泡排序(递归法)
冒泡排序(递归法)。
```c++
#include
#define N 1000
using namespace std;
void BubbleSort(int a[],int n,int i)
{ int j;
bool exchange;
if (@@[i==n-1](2)) return;
else
{ exchange=false;
for (j=n-1;j>i;j--)
if (a[j] { swap(a[j],a[j-1]);
exchange=true;
}
if (exchange==false)
return;
else
@@[BubbleSort(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];
BubbleSort(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空:BubbleSort(a,n,i+1)
```c++
#include
#define N 1000
using namespace std;
void BubbleSort(int a[],int n,int i)
{ int j;
bool exchange;
if (@@[i==n-1](2)) return;
else
{ exchange=false;
for (j=n-1;j>i;j--)
if (a[j] { swap(a[j],a[j-1]);
exchange=true;
}
if (exchange==false)
return;
else
@@[BubbleSort(a,n,i+1)](2);
}
}
void show(int A[],int n)
{
int i;
for(i=0;i
cout< else
cout<<" "<}
int main()
{
int A[N];
int i,n;
cin>>n;
for(i=0;i
BubbleSort(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空:BubbleSort(a,n,i+1)