你应该忘记C库的qsort,而使用C++的std::sort。尽管两者都是采用快速排序算法。
由于C++独特的模板技术,加上仿函数(functor)的存在,使得排序算法在C++语言中,获得了无可比拟的性能优势。这种优势是C语言,更别说其他如Java、C#语言所可以比拟的。虽然,Java、C#也存在模板,但是他们的模板技术实现方案无法带来性能上的好处。
本文对比了C库的qsort与C++标准库中的std::sort,并解释了为什么后者能提供更好的性能。得益于C++特有的模板技术和仿函数的存在,std::sort在性能上远超qsort,甚至超越了Java和C#等现代编程语言提供的排序实现。
你应该忘记C库的qsort,而使用C++的std::sort。尽管两者都是采用快速排序算法。
由于C++独特的模板技术,加上仿函数(functor)的存在,使得排序算法在C++语言中,获得了无可比拟的性能优势。这种优势是C语言,更别说其他如Java、C#语言所可以比拟的。虽然,Java、C#也存在模板,但是他们的模板技术实现方案无法带来性能上的好处。
572
149