#include<stdio.h>
#define N 5
int main(){
//插入排序算法
int i, j, temp;
int a[N] = {5,3,1,7,4};
for (i = 1; i < N; i++){
temp = a[i]; // 从待插入组取出第一个元素
j = i - 1; // i - 1即为有序组最后一个元素(与待插入元素相邻)的下标
while (j >= 0 && temp < a[j]){ // j >= 0 对其进行边界限制,第二个为插入判断条件
a[j + 1] = a[j]; //把前面的元素覆盖后面的元素
j--; //元素下标往前移动
}
a[j + 1] = temp; //因上面的循环中j--多减了1,这里加回来
}
for (i = 0; i < N; i++)
printf("%d,",a[i]);
return 0;
}
C语言插入排序算法
最新推荐文章于 2024-01-29 14:30:38 发布