【发布时间】:2016-02-26 13:51:56
【问题描述】:
我编写了一个工作正常的递归插入排序,但问题是如果我设置 n = 10000 或大约 5000 或更大,无论数组的值是什么,应用程序都会停止工作。 (例如向量数组(10000,0))
代码如下:
void RecursiveInsertionSort(int i, vector<int> &arr)
{
if (i <= 0)
return;
RecursiveInsertionSort(i - 1, arr);
int key = arr[i];
int j = i - 1;
while (j >= 0 && arr[j] > key)
{
arr[j + 1] = arr[j];
j--;
}
arr[j + 1] = key;
}
我在 main 中这样称呼它:
vector<int> arr (10000,1);
RecursiveInsertionSort(arr.size() - 1, sorted);
我不明白问题出在哪里。
【问题讨论】:
标签: c++ crash insertion-sort