当前位置: 代码迷 >> QT开发 >> qSort 中的 qSwap,该如何解决
  详细解决方案

qSort 中的 qSwap,该如何解决

热度:115   发布时间:2016-04-25 04:02:40.0
qSort 中的 qSwap
请教个问题。
我在用qSort的时候,由于对象可能很大。
我看qSort源码qSwap
RandomAccessIterator low = start, high = end - 1;
RandomAccessIterator pivot = start + span / 2;
qSwap(*pivot, *end);


我想这样交换性能如何?是交换的是实际数据还是地址而已?

------解决方案--------------------
本帖最后由 dext 于 2013-03-07 23:30:21 编辑
两点:
第一,Big O 的标记 只是 算法理论上的衡量标尺,并不是 实际中CPU的指令条数。如果真要划等号的话。 一次数据的移动 可以认为为 O(1) 因为 不会随着问题的规模而扩张。

第二,没有人强迫你去移动数据 还是 指针。
在我看来,移动指针 是利大于弊的。