2.3-4 递归实现插入排序
#include<cstdio>
using namespace std;
int INSERTION (int *A, int r)
{
int key = A[r];
int i = r - 1 ;
while(i >= 0 && A[i] > key)
{
A[i+1] = A[i];
i = i - 1;
}
A[i + 1] = key;
}
int RECURSION_INSERTION_SORT(int *A, int r)
{
if(0 < r)
{
r = r - 1;
RECURSION_INSERTION_SORT(A, r);
INSERTION(A, r);
}
}
int main(){
int A[1000];
int r;
scanf("%d",&r);
for(int i = 0; i < r; i++)
scanf("%d",&A[i]);
RECURSION_INSERTION_SORT(A, r);
for(int i = 0; i < r; i++)
printf("%d ", A[i]);
}