【发布时间】:2019-12-02 00:20:25
【问题描述】:
我正在尝试做一个家庭作业问题,我必须使用教科书合并排序方法并将其实现到我的程序中。当我尝试为合并的数字动态分配临时数组时,我无法让它工作。
void Merge(int *numbers, int i, int j, int k)
{
int mergedSize = k - i + 1;
int merge2 = k - j;
int mergePos = 0;
int leftPos = 0;
int rightPos = 0;
int mergedNumbers = new int[mergedSize];
leftPos = i;
rightPos = j + 1;
我收到一个 int 错误,提示我无法在 "int mappedNumbers = new int[mergedSize];" 中初始化 int 类型的实体。 我该如何解决这个问题才能让它发挥作用。
【问题讨论】:
-
new表达式的返回值是int *类型而不是int。也可以考虑改用std::vector。 -
这行得通。谢谢
标签: c++ arrays sorting mergesort