插入排序
#include <stdio.h>
void insertSort(int *a, int size) {
int i, j, t;
for (i = 1; i < size; i++) { //从下标为1开始,仅有一个元素无需比较
t = a[i];
j = i;
while ( j > 0 && t < a[j-1]) { //从末尾开始比较
a[j] = a[j-1]; //给要插入的元素留出位置
j--;
}
a[j] = t; //给留出的位置插入新元素
}
}
int main() {
int a[6] = {7, 4, 2, 5, 1, 6};
insertSort(a, 6);
for (int i = 0; i < 6; i++) {
printf("%d ", a[i]);
}
printf("\n"); //result:1 2 4 5 6 7
return 0;
}