插入排序(代码实现)

#include<stdio.h> 
void insertionSort(int Arr[],int N){
	int i,j,temp;
	for(i=1;i<N;i++){
		temp = Arr[i];//当前需要排序的元素 
		j = i - 1;//需要排序元素前一个元素索引
		
		//将当前元素与前面的元素进行对比
		//当j小于0退出时,需排序的元素插入到最前面
		//当Arr[j]<=temp退出时,需排序元素插入Arr[j]后面 
		while(j >= 0 && Arr[j] > temp){
			Arr[j+1] = Arr[j];
			j--;
		}
		Arr[j+1] = temp;
	}
	
}

int main(){
	int i,j;
	int arr[10] = {5,4,2,34,98,52,9,0,81,56};
	insertionSort(arr,10);
	for(i=0;i<10;i++) printf("%d ",arr[i]);
	return 0;
} 

版权声明:本文为weixin_46670664原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。