登 录
#include<stdio.h> void insertion(int * A,int length); int main() { int i,A[] = {9,0,8,7,6,5,4,3,2,1}; printf("排序前:/n"); for(i = 0;i < 10;i++) { printf("%d",A[i]); } insertion(A,10); printf("/n排序后:/n"); for(i = 0;i < 10;i++) { printf("%d",A[i]); } printf("/n"); return 0; } void insertion(int * A,int length) { int i; int temp; if(length > 1){ insertion(A,length - 1); } i = length - 2; temp = A[length -1]; while(A[i] > temp && i >= 0){ A[i + 1] = A[i]; i--; }
A[i+1] = temp; }
有N个数,要排序A[0..N-1],先递归排序A[0..N-2]然后再将A[N-1]插入到数组A[0..N-2]中。
抱歉!评论已关闭.