【发布时间】:2012-03-23 04:59:00
【问题描述】:
我正在使用 heapsort 对包含结构的大型向量进行排序,并且我的代码的运行时间很慢。我现在不想在向量中存储一个结构,而是存储一个指向该结构的指针。
我的问题是,在后台,当我对事物进行排序时实际发生了什么,如果我存储指向结构的指针而不是存储结构本身会更快吗?
【问题讨论】:
-
这取决于语言、编译器和执行环境,但总的来说,排序是通过一系列交换来实现的。交换指针通常非常便宜,而交换(大型或复杂)结构可能非常昂贵。您问题的真正答案是尝试两者并衡量结果。