/**************************************************** 直接插入排序(Straight Insertion Sort): 1. 稳定的排序方法。 2. 平均来说插入排序算法的时间复杂度为O(n^2)。 3. 插入排序不适合对于数据量比较大的排序应用。 ****************************************************/ #include <iostream> using namespace std; void InsertSort(int L[], int n) { for (int i = 1; i < n; ++i) { int temp = L[i]; for (int j = i - 1; j >= -1; --j) //j = -1,确保第一个元素比较到 { if (L[j] > temp) L[j + 1] = L[j]; else { L[j + 1] = temp; break; } } } } int main() { int L[10] = {1, 5, 2, 14, 6, 3, 8, 4, 9, 2}; InsertSort(L, 10); for (int i = 0; i < 10; ++i) cout << L[i] << " "; cout << endl; }