插入排序在VS上特别快,已调release
来源:2-6 插入排序法的改进
纸女神
2018-02-15
template<typename T>
void insertionSort(T arr[], int n) {
for (int i = 1; i < n; i++) {
T e = arr[i];
int j;
for (j = i; j > 0 && arr[j] < arr[j - 1]; j--)
arr[j] = arr[j - 1];
arr[j] = e;
}
}int main()
{
const int n = 10000;
int *arr1 = SortTestHeiper::generateRandomArray(n, 0, n);
int *arr2 = SortTestHeiper::copyIntArray(arr1, n);
SortTestHeiper::TestSort("Insertion Sort", Sort::insertionSort, arr1, n);
SortTestHeiper::TestSort("Selection Sort", Sort::selectionSort, arr2, n);
delete[] arr1;
delete[] arr2;
return 0;
}
10000的数量级
1000000的数量,selection sort 太慢了,注释了

为什么会这样呢
写回答
1回答
-
O(n^2)的排序就是这么慢哦。但是如果换成O(nlogn)的排序,100万的数据是小case,这就是算法的力量:)
022018-02-15
相似问题