#include <stdio.h>
//直接插入排序
void InsertSort(int a[], int n)
{
for(int i =1;i<n;i++){
int temp =a[i];//先把 当前要比较的值存起来
int j =i;
while(a[j-1]>a[j] && j>0){//这段代码的意思是 因为j=i,就是说前面的元素大于后面时候,把后面的元素放到前面的位置上,
a[j] = a[j-1];
a[j-1] = temp;
j--; //j--;一直和前面那个比,直到前面的小于后面的
}
printf("\n");
for(int i=0;i<n;i++){
printf(" %d",a[i]);
}
}
}
int main(){
int a[50] = {8,7,6,5,4,3,2,1};
InsertSort(a,8);
return 0;
}
王道第八章排序算法2-直接插入排序算法C语言
最新推荐文章于 2022-07-21 16:32:23 发布