插入排序的基本思想时:每一步将一个待排序元素按其关键字值的大小插入到已排序序列的适当位置上
话不多说,直接撸代码
#include<iostream>
using namespace std;
void InserSort(int* a, int length) {
int i, j, temp;
for (i = 0; i < length; i++) {
temp = a[i]; //用来记住排序元素
for (j = i -1; j >= 0; j--) {//j向前比,走到零位置
if (temp < a[j]) {
a[j + 1] = a[j];
}
else {
break;
}
}
a[j + 1] = temp; //这个时候j=-1,所以要加一
}
}
int main() {
int array[10] = { 1,4,4,2,7,8,3,9,2,6 };
InserSort(array, sizeof(array) / sizeof(array[0]));
for (int i = 0; i < sizeof(array) / sizeof(array[0]); i++) {
cout << array[i] << " ";
}
cout << endl;
return 0;
}