交换实现
代码演示1
void insert_sort(int *num, int n) {
for (int i = 1; i < n; i++) {
for (int j = i; j > 0; j--) {
if (num[j] < num[j - 1]) {
swap(num[j], num[j - 1]);
} else break;
}
}
return ;
}
代码演示2
void insert_sort(int *num, int n) {
for (int i = 1; i < n; i++) {
for (int j = i; j > 0 && (num[j] < num[j - 1]); j--) {
swap(num[j], num[j - 1]);
}
}
return ;
}
移动实现
代码演示
void insetr_sort(int *a, int n) {
for (int i = 1, j; i < n; i++) {
int key = a[i];
for (j = i - 1; j >= 0 && key < a[j]; j--) {
a[j + 1] = a[j];
}
if (key != a[i]) a[j + 1] = key;
}
}