gpt4 book ai didi

c++ - 在 C++ 中反转结构数组

转载 作者:行者123 更新时间:2023-11-28 02:18:51 26 4
gpt4 key购买 nike

我有一个结构定义如下:

struct Rect {
int l;
int b;
int h;
};

输入格式为:

10 20 30 40 50 60 12 2 3 
10 2 4 44 50 887 12 3 3

我已经成功地实现了接收输入并将其存储在 Rect 结构数组中的程序。

现在我正在尝试实现一个函数来反转输入和输出,如下所示:

12 2 3 40 50 60 10 20 30
12 3 3 44 50 887 10 2 4

我已经尝试实现我自己的反向函数并使用它但是它没有用,下面是我的反向函数:

void reverseArray(Rect *arr, int start, int end)
{
Rect *temp;
while(start < end)
{
temp = &arr[start];
arr[start] = arr[end];
arr[end] = *temp;
start++;
end--;
}
}

我怎样才能得到想要的格式?谢谢。

最佳答案

关于 std::reverse 的另一个答案是正确的……但正确的使用方法是:

Rect* pBegin = arr + start;
Rect* pEnd = arr + end;

std::reverse(pBegin, pEnd);

基本上,std::reverse 需要迭代器,而指针自然是迭代器。

关于c++ - 在 C++ 中反转结构数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33201528/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com