插入算法是我们在算法学习中第一个遇到的简单排序算法,其实现思路就是与我们平时玩扑克牌的思路一样,每次抓一张牌,按照从小到大的顺序插入到手中,具体实现如下: #include <stdio.h> #define LEN 8 int a[LEN] = {2, 1, 4, 8, 9, 6, 7, 3}; void insert(void) { int i, j, key; for (j = 1; j < LEN; j++) { key = a[j]; i = j - 1; while (i >= 0 && a[i] > key) { a[i+1] = a[i]; i--; } a[i+1] = key; } printf("insert: %d, %d, %d, %d, %d, %d, %d, %d/n", a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]); } int main(void) { insert(); return 0; }