描述:
       对容器的前部分元素进行排序。

定义:

template< class RandomIt >
void partial_sort( RandomIt first, RandomIt middle, RandomIt last );template< class RandomIt >
constexpr void partial_sort( RandomIt first, RandomIt middle, RandomIt last );
template< class RandomIt, class Compare >
void partial_sort( RandomIt first, RandomIt middle, RandomIt last,Compare comp );template< class RandomIt, class Compare >
constexpr void partial_sort( RandomIt first, RandomIt middle, RandomIt last,Compare comp );

参数:
       first, last - 定义范围的随机访问迭代器
       middle - 定义要排序的末元素的随机访问迭代器
       comp - 比较函数对象(即满足比较 (Compare) 概念的对象),若第一参数小于(即先序于)第二参数则返回 ​true 。

返回值:
       无

示例:

#include <iostream>
#include <algorithm>
#include <string>int main()
{std::string s = "987654321";std::partial_sort(s.begin(),s.begin()+5,s.end());std::cout << s << std::endl;//123459876
}
#include <iostream>
#include <algorithm>
#include <vector>struct SData
{int m_nData;double m_dData;SData(int nData, double dData):m_nData(nData),m_dData(dData){}
};int main()
{std::vector<SData> v;for (int i = 9; i > 0; i--){v.push_back(SData(i,i));}std::partial_sort(v.begin(), v.begin() + 5, v.end(), [](const SData& d1,const SData& d2) {return d1.m_nData < d2.m_nData;});for (int i = 0; i < v.size(); i++){std::cout << v[i].m_nData << " ";}std::cout << std::endl;//1 2 3 4 5 9 8 7 6
}

std::partial_sort 用法相关推荐

  1. C++中std::sort/std::stable_sort/std::partial_sort的区别及使用

    某些算法会重排容器中元素的顺序,如std::sort.调用sort会重排输入序列中的元素,使之有序,它默认是利用元素类型的<运算符来实现排序的.也可以重载sort的默认排序,即通过sort的第三 ...

  2. boost::hana::ext::std::vector_tag用法的测试程序

    boost::hana::ext::std::vector_tag用法的测试程序 实现功能 C++实现代码 实现功能 boost::hana::ext::std::vector_tag用法的测试程序 ...

  3. std::map用法

    std::map用法 STL是标准C++系统的一组模板类,使用STL模板类最大的好处就是在各种C++编译器上都通用. 在STL模板类中,用于线性数据存储管理的类主要有vector, list, map ...

  4. std::tuple、std::tie(可用于结构体大小比较)、std::pair用法

    1.tuple应用: 解释:是一个元组,可包含无限多不同类型变量,pair的升级版,但没有pair得成员变量first.second. 1.1.代码: // tuple example #includ ...

  5. 转: std::string用法详解

    原文地址为: 转: std::string用法详解  C++中的string 类 简单介绍 前言: string 的角色 1 string 使用 1.1 充分使用string 操作符 1.2 眼花缭乱 ...

  6. 【C++】浮点数的std::fixed、std::setprecision()、std::setw()用法

    [C++]50.浮点数的std::fixed.std::setprecision().std::setw()用法 C++中std::setw()的用法 1. std::fixed() #include ...

  7. 【C++标准库】std::string用法指南源码剖析

    文章目录 1.ASCII码 (1)计算机如何表达字符 2.C 语言中的字符类型 char (1)思想:char 即整数 (3)C 语言帮手函数 (4)C语言中的字符串 (4)C 语言转义符 3.C++ ...

  8. std::function用法详解

    std::function用法详解 代码在:VCCommon/functionDemo std::function 简介 类模板 std :: function 是一个通用的多态函数包装器. std ...

  9. C++/C++11中std::string用法汇总

    C++/C++11中std::string是个模板类,它是一个标准库.使用string类型必须首先包含<string>头文件.作为标准库的一部分,string定义在命名空间std中. st ...

最新文章

  1. uva 10608 FRIENDS
  2. flume案例-网络数据采集-启动flume
  3. [问题解决]基于注解配置dubbo遇到ConnectionLoss for /dubbo/xxx问题解决
  4. linq4j java8_Linq4j简明介绍
  5. 云计算服务与基本术语、概念
  6. Ubuntu20.04安装ROS Noetic
  7. 通过AT指令实现ESP8266模块和TCP服务器的数据传输
  8. HTML、CSS、JavaScript网页制作从入门到精通 (刘西杰) pdf扫描版彩色版​
  9. 程序员代码面试指南 IT名企算法与数据结构题目最优解.pdf
  10. 2023最新毕业设计选题 -python毕设选题推荐 - 如何选题 避免被坑
  11. new relic_Datadog,SignalFX,New Relic,Wavefront –您应该选择哪个仪表板?
  12. 《Windows 8 权威指南》——第2章 Windows 8 Metro应用 2.1 打造快速流畅的动态Windows 8 Metro应用体验...
  13. c# 利用AForge.NET组件操作摄像头
  14. ubuntu下定时自动备份数据库
  15. 计算机屏幕的作用是什么情况,电脑屏幕分辨率的作用是什么?
  16. android获取用户手机信息,Android – 使用AccountManager /手机所有者的姓氏和姓氏获取用户数据...
  17. 北航2021届计组 - 支持中断的CPU
  18. Wework创始人再创业,靠美版“自如”估值10亿美金
  19. 内网渗透-msf及socks代理转发
  20. 【历史上的今天】3 月 24 日:苹果推出 Mac OS X;微软前任 CEO 出生;Spring 1.0 正式发布

热门文章

  1. 深入了解String和intern
  2. oracle 19c 由于MGA产生的文件扩展不足导致的ORA-04030
  3. 微信小程序学习笔记2
  4. 虚拟机vs裸金属服务器,裸金属虚拟机
  5. Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must
  6. Ubuntu16.04下fctix无法切换中英文输入法
  7. 无法联网的情况下,dbeaver离线安装数据库驱动-clickhouse
  8. 测试你的身份证号码最后一位,校验码的生成方式
  9. linux-关机命令shutdown
  10. pycharm报错warning: iCCP: known incorrect sRGB profile