#插入排序,
#使用一次for 循环,用当前值和前一个值进行对比,如果小于前一个值,进行数据交换
# while循环用于把i 之前的数据进行位移
#最后剩下个a[j+1] = temp; i-1的数据用temp;
#include <stdio.h>
#define N 10
void insert_sort(int *a, int n);
int main(void) {
int a[N] = {23,1,22,3,54,3,24,5,34,6};
insert_sort(a, N);
printf("the sort number is\n");
for (int i = 0; i< N; i++) {
printf("%d\n", a[i]);
}
}
void insert_sort(int a[], int n)
{
int temp,j;
for (int i = 1; i < n; i++) {
if (a[i] < a[i-1]) {
j = i -1;
temp = a[i];
a[i] = a[j];
while (j >=0 && temp < a[j]) {
a[j+1] = a[j];
j --;
}
a[j+1] = temp;
}
}
}