在c ++中查找结构数组的排序顺序

时间:2018-04-04 14:08:19

标签: c++ arrays sorting struct

我有:

upwards

我想在不修改原始数组的情况下对其进行排序,除了设置" pos"保存已排序元素的位置。我希望设置一个next / prev指针来对抗这两个元素是很有用的。价值但我无法弄清楚如何。我做了一个功能

i = random.randint(0, len(colors)-1)

我手动插入每个元素,我正在考虑在int _size; //array's dimension int _cont; //number of elements at the moment (<_size) bool _full; struct elemento { T value; int pos; elemento *prev; elemento *next; elemento(): value(0), pos(-1), prev(0), next(0){} elemento(const T &v): value(v), pos(-1), prev(0), next(0){} }; elemento *_array; 调用排序函数,但我无法弄清楚如何排序。

1 个答案:

答案 0 :(得分:0)

您可以创建一个新的std::reference_wrapper数组或向量,然后std::sort该容器,以获得已排序的&#34;视图&#34;原始数组。

例如:

std::vector<std::reference_wrapper<elemento>> sorted_view(std::begin(the_array), std::end(the_array);
std::sort(std::begin(sorted_view), std::end(sorted_view), comparison_function_or_lambda);