直接插入排序算法

时间:2021-10-09 04:32:21
#include <stdio.h>
/**
**/
void insertSort(int a[],int n){
	int i,j,k;
	for(i=1;i<=n;i++){//待排序的数据
		k = a[i];//取出一个数据来排序
		for(j=i-1;j>=0&&k<a[j];j--){
			a[j+1]=a[j];//移动的条件:待排序的数据小于已排序的最大数据,即a[i-1],也即a[j]
		}
		j++;
		a[j]=k;//把待排序的值插入到正确的位置
	}
}



void main(){
	int a[] = {1,3,2,5,3,9,10,33,7};
	int n = 9;
	int i ;

	insertSort(a,n);

	for(i=0;i<9;i++){
		printf("%4d",a[i]);
	}
}