我正在学习编程,C++是我学的第一门语言。请不要使用指针来展示 - 我还不理解它们,直到我有更多的空闲时间来专注于这个问题。
int mergeSort()
{
const int n = 9;
int originalarray[n] = {1, 3, 5, 7, 9, 2, 4, 6, 8};
const int halfelements = (sizeof(originalarray) / sizeof(int)) / 2;
int farray[halfelements];
int sarray[halfelements];
for (int i = 0; i < halfelements; i++) {
farray[i] = originalarray[i];
}
for (int i = halfelements, x = 0; i < (halfelements * 2); i++, x++) {
sarray[x] = originalarray[i];
}
我被分配(我不是上课,只是和几个朋友一起学习)一个归并排序算法,其中算法已经解释过了,但没有实现。我希望重新编写它,使其适用于奇数和偶数整数。我尝试添加以下代码:
if ((n % 2) != 0) int farray[halfelements + 1];
这样我就可以使用相同的整数来迭代两个后续数组。 sizeof(farray)显示为16字节,或4个整数。因此它没有重新调整大小。我想知道的是 - 是否可以在初始化后调整数组大小?
编辑:我该如何实现一个向量?我不明白如何在循环中使用迭代器来迭代并复制值。