插入排序
#include "common.h"
void insert_sort(int* a, int size)
{
for (int i = 1; i < size; i++)
{
int v = a[i];
// 要插入的位置
int j = i;
for (int k = i - 1; k > -1 && a[k] > v; k--)
{
j = k;
a[k+1] = a[j];
}
if (j != i)
{
a[j] = v;
}
}
}
int main()
{
int a[10];
rand_array(a, ASIZE(a));
print_array(a, ASIZE(a));
insert_sort(a, ASIZE(a));
print_array(a, ASIZE(a));
}
浙公网安备 33010602011771号