#include <stdio.h>
//插入排序,第一个默认有序,其从剩下数中取出数字依次从后往前比较
int main(int argc, char const *argv[])
{
int arr[10] = {2,5,8,3,6,9,1,4,7,0};
int i = 0,j = 0;
int temp = 0; //每次插入的数字
int len = sizeof(arr) / sizeof(int);
//控制比较需要比较几次
for(i = 1;i < len;i++)
{
temp = arr[i];//将取出的数给temp
//控制比较的条件,从后向前比较
for(j = i - 1;j >= 0 && temp < arr[j];j--)
{
arr[j+1] = arr[j];//当取出的数字比排序的小时进入循环
}
arr[j + 1] = temp;//否则直接交换
}
for(i = 0;i < len;i++)
{
printf("%d ",arr[i]);
}
putchar(10);
return 0;
}
C插入排序
最新推荐文章于 2024-07-24 20:25:39 发布