C++ sort()排序函数用法详解(深入了解,一文学会) 您所在的位置:网站首页 sort函数用法举例 C++ sort()排序函数用法详解(深入了解,一文学会)

C++ sort()排序函数用法详解(深入了解,一文学会)

2023-09-22 18:31| 来源: 网络整理| 查看: 265

        C++ STL 标准库提供有很多实用的排序函数,如表 1 所示。通过调用它们,我们可以很轻松地实现对普通数组或者容器中指定范围内的元素进行排序。

   本文作者原创,转载请附上文章出处与本文链接。

C++ sort()排序函数用法详解(深入了解,一文学会)目录

1 sort()函数

2 stable_sort()函数

3 nth_element()函数

1 sort()函数

C++ STL 标准库中的 sort()  函数,本质就是一个模板函数。正如表 1 中描述的,该函数专门用来对容器或普通数组中指定范围内的元素进行排序,排序规则默认以元素值的大小做升序排序,除此之外我们也可以选择标准库提供的其它排序规则(比如std::greater降序排序规则),甚至还可以自定义排序规则。

sort() 函数是基于快速排序实现的。

需要注意的是,sort() 函数受到底层实现方式的限制,它仅适用于普通数组和部分类型的容器。换句话说,只有普通数组和具备以下条件的容器,才能使用 sort() 函数:

容器支持的迭代器类型必须为随机访问迭代器。这意味着,sort() 只对 array、vector、deque 这 3 个容器提供支持。如果对容器中指定区域的元素做默认升序排序,则元素类型必须支持 j) 从大到小 } }; int main() { std::vector myvector{ 32, 71, 12, 45, 26, 80, 53, 33 }; //调用第一种语法格式,对 32、71、12、45 进行排序 std::sort(myvector.begin(), myvector.begin() + 4); //(12 32 45 71) 26 80 53 33 //调用第二种语法格式,利用STL标准库提供的其它比较规则(比如 greater)进行排序 std::sort(myvector.begin(), myvector.begin() + 4, std::greater()); //(71 45 32 12) 26 80 53 33 //调用第二种语法格式,通过自定义比较规则进行排序 std::sort(myvector.begin(), myvector.end(), mycomp2());//12 26 32 33 45 53 71 80 //输出 myvector 容器中的元素 for (std::vector::iterator it = myvector.begin(); it != myvector.end(); ++it) { std::cout


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有