三分钟带你读懂C++中的排序方式

发布时间:2026/5/19 22:30:50

三分钟带你读懂C++中的排序方式 在 C 中有多种方式可以用于排序每种方法都有其适用场景。以下是几种常见的排序方式1. 使用标准库中的sort函数C STL标准模板库提供了algorithm头文件中的sort函数这是最常用的排序方法。它使用快速排序通常在平均情况下或堆排序在最坏情况下进行排序。2. 使用自定义比较函数sort函数允许你通过提供自定义比较函数来控制排序方式。3. 使用partial_sort如果你只需要数组中的一部分有序可以使用partial_sort。4. 使用stable_sort如果你需要稳定的排序即相等元素的原始顺序保持不变可以使用stable_sort。5. 使用nth_element如果你只需要找到第 n 个最小或最大元素可以使用nth_element。它比partial_sort更高效因为它只需要部分排序。sort 有两个重载版本其中前两个参数分别是首迭代器和尾迭代器的后一个位置。而根据是否有第三个参数分为两个版本。我们主要使用第二个版本展示。#include algorithm template typename _RandomAccessIterator inline void sort(_RandomAccessIterator __first, _RandomAccessIterator __last); template typename _RandomAccessIterator, typename _Compare inline void sort(_RandomAccessIterator __first, _RandomAccessIterator __last, _Compare __comp);仿照 C 语言的 使用普通函数来定义规则。但这里的规则是更加的人性化我们需要比较两个 型数据那参数就写成 。比较大小一般在 C 中就是比较谁更小因此直接返回一个 即可。#include algorithm #include climits #include vector bool cmp(const int a, const int b) { return a b; } int main(void) { std::vectorint arr {INT_MAX, INT_MIN, -1, 0, 1}; std::sort(arr.begin(), arr.end(), cmp); }

相关新闻