#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;
}
插入排序(代码实现)
最新推荐文章于 2023-01-08 22:47:05 发布