【发布时间】:2017-07-10 08:41:06
【问题描述】:
试图理解插入排序算法..
我的算法目前是这样的:
void insertionSort(int *array, int N) {
int value;
int hole;
int *array2;
for (int i = 1; i < N - 1; i++) {
value = array[i]; //next item to be inserted in array 2
hole = i;
while (hole > 0 && array[hole - 1] > value) {
array[hole] = array[hole - 1];
hole = hole - 1;
}
array[hole] = value;
}
}
我的算法适用于对数组进行排序,但是我现在需要对其进行更改,以便一次构建一个新的排序数组 (array2),而不是只使用原始数组。
鉴于我已完成的算法,有没有一种简单的方法来实现这一点? 谢谢。
【问题讨论】:
-
int *array2 = new int[];不是有效的 C++。
标签: c++ arrays algorithm sorting insertion-sort