【代码】
#include "array.h"
#define N 10
void Sort(int a[], int n)
{
int i, temp;
if (n>1)
{
for (i = 0; i < n - 1; i++)
{
if (a[i] > a[i + 1])
{
temp = a[i];
a[i] = a[i + 1];
a[i + 1] = temp;
}
}
n--;
Sort(a, n);
}
}
int main()
{
int a[N];
input(a, N);
Sort(a, N);
print(a, N);
return 0;
}
【解释】
递归的本质就是自调用,这里递归的出口条件是n<=1,也即参与冒泡的数据小于等于1。
Sort()函数为递归的冒泡升序排序函数,input()和print()为自定义的输入和输出函数。