拆分后维护已排序的2D点数组(C ++)

时间:2013-01-27 23:01:21

标签: c++ sorting split

到目前为止,我有一个2D点阵列,(x_i,y_i)。在第一步中,我创建一个按x坐标排序的数组和按y坐标排序的数组。然后我将x排序的数组分成两半。 如何从这两半重建相应的两半y排序数组,而不再按y坐标排序。 它似乎可以在线性时间内完成,并且应该非常简单。感谢。

1 个答案:

答案 0 :(得分:0)

在伪代码中:

for p in sorted-by-y
    if p is in first half of sorted-by-x
        add p to first half of sorted-by-y
    else
        add p to second half of sorted-by-y

如果将p添加到每个“half set”的末尾,则将保持“sorted-by-y”的排序顺序。