减治法之插入排序(C实现)

 #include 
void InsertSort(int A[]);
 
int main() {
 int i, a[100];
    srand(time(0));
    for ( i = 1; i < 101; ++i ){
        a[i-1] = rand() % 1001;
        printf( "%3d ", a[i-1] );
        if(i%15==0) printf("\n"); 
    }
    printf("\n\n");
    InsertSort(a);
    for ( i = 1; i < 101; ++i ){
        printf( "%3d ", a[i-1] );
        if(i%15==0) printf("\n"); 
    }
    getch();
    return 0;
}
 
void InsertSort(int A[]) {
	int i, v, j;
	int n=100;
	for(i=1; i<=n-1; i++) {
		v=A[i];
		j=i-1;
		while(j>=0 && A[j]>v) {
			A[j+1]=A[j];
			j--;
		}
		A[j+1]=v;
	}
}

运行效果图

减治法之插入排序(C实现)_第1张图片

你可能感兴趣的:(算法设计与分析基础)