C中的Quicksort实现?

时间:2010-08-15 02:37:53

标签: c quicksort qsort

我非常喜欢C语言中的qsort函数。它非常易于使用,并且允许我拖延学习C ++模板类型。我对此有几个问题:

  • 算法总是使用快速排序还是依赖编译器实现?
  • 您是否建议使用此功能或模板是否真正有益处?
  • 为了避免安全问题/段错误,我有什么需要注意的吗?

1 个答案:

答案 0 :(得分:5)

  

算法总是使用快速排序还是依赖编译器实现?

这取决于实现。

  

您是否建议使用此功能或模板是否真正有益?

C没有模板。如果您需要C中的通用排序功能,那么qsort是一个不错的选择。

如果您打算使用C ++,那么您应该使用std::sort,这样更容易正确使用并提供类型安全。

  

为了避免安全问题/段错误,我应该注意什么?

如果您不正确地使用该功能(例如,如果您传递了错误的参数或者您的比较功能中存在错误),那么您的程序可能会崩溃(或者可能会执行不正确的操作)。当然,这不是qsort特有的;对于程序中使用的任何内容都是如此。