c++——sort()函数

news2024/11/26 4:24:26

一、代码和效果

#include<bits/stdc++.h>
using namespace std;

int main()
{
	int a[6]={1,45,2,5,456,7};
	sort(a,a+6);
	for(int i=0; i<6; i++)
	{
		cout<<a[i]<<" "<<endl;
	}
	return 0;
}

二、sort函数解析 (从小到大)

std::sort是C++标准库中用于对容器或数组进行排序的函数,它位于头文件<algorithm>中。

函数原型

template< class RandomIt >
void sort( RandomIt first, RandomIt last );
  • RandomIt是一个模板参数,代表了一个随机访问迭代器类型。
  • first是指向排序范围的起始位置的迭代器。
  • last是指向排序范围的末尾元素的下一个位置的迭代器。

功能

std::sort函数用于对指定范围内的元素进行排序,根据默认的比较函数(operator<)进行升序排序。排序后,范围内的元素将按照指定的顺序排列。

代码例子

#include <iostream>
#include <algorithm>
#include <vector>

// 自定义比较函数,用于从大到小排序
bool compare(int a, int b) {
    return a > b; // 返回true表示a排在b的前面,即从大到小排序
}

int main() {
    std::vector<int> vec = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3};
    
    // 使用自定义比较函数对整个向量进行排序
    std::sort(vec.begin(), vec.end(), compare);
    
    // 输出排序后的结果
    for (const auto& num : vec) {
        std::cout << num << " ";
    }
    std::cout << std::endl;

    return 0;
}

三、sort降序用法(从大到小)

#include <iostream>
#include <algorithm>
#include <vector>

// 自定义比较函数,用于从大到小排序
bool compare(int a, int b) {
    return a > b; // 返回true表示a排在b的前面,即从大到小排序
}

int main() {
    std::vector<int> vec = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3};
    
    // 使用自定义比较函数对整个向量进行排序
    std::sort(vec.begin(), vec.end(), compare);
    
    // 输出排序后的结果
    for (const auto& num : vec) {
        std::cout << num << " ";
    }
    std::cout << std::endl;

    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1582662.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux安装MuJoCo各版本及D4RL教程

Linux安装MuJoCo各版本及D4RL教程 文章目录 Linux安装MuJoCo各版本及D4RL教程Linux安装MuJoco150一、下载MuJoco1501.1 文件下载1.2 文件存放位置1.3 环境变量设置 二、安装mujoco-py三、验证mujoco-py安装是否成功 Linux安装MuJoco200一、下载MuJoco2001.1 文件下载1.2 文件存…

【随笔】Git 高级篇 -- 快速定位分支 ^|~(二十三)

&#x1f48c; 所属专栏&#xff1a;【Git】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &#x1f496; 欢迎大…

php:实现压缩文件上传、解压、文件更名、压缩包删除功能

效果图 1.上传文件 2.压缩包文件 3.itemno1文件 4.上传到系统路径\ItemNo 更名后的itemno1文件 代码 <form action"<?php echo htmlspecialchars($_SERVER[PHP_SELF], ENT_QUOTES, UTF-8); ?>" method"post" enctype"multipart/form-dat…

Python+Selenium+Unittest 之Unittest3(TestSuite()和TextTestRunner())

目录 1&#xff1a;addTest() 2、addTests() 3&#xff1a;discover() 上一篇说了Unittest的一个基本的执行顺序&#xff0c;那如果我们想要调整用例的执行先后顺序的话&#xff0c;可以用TestSuite()和TextTestRunner()了&#xff0c;可以这么理解&#xff0c;比如一个班级…

TRON x HTX DAO 2024 香港之夜:共建香港元宇宙金融自由港

4月9日&#xff0c;由波场TRON主办&#xff0c;HTX DAO协办的“TRON x HTX DAO 2024 香港之夜”主题活动在香港盛大举行。多位参与HTX DAO生态建设的项目方代表、委员会成员、知名KOL等出席并就HTX DAO发展及加密业态进行演讲。 活动现场&#xff0c;波场TRON创始人孙宇晨通过视…

WordPress LayerSlider插件SQL注入漏洞复现(CVE-2024-2879)

0x01 产品简介 WordPress插件LayerSlider是一款可视化网页内容编辑器、图形设计软件和数字视觉效果应用程序,全球活跃安装量超过 1,000,000 次。 0x02 漏洞概述 WordPress LayerSlider插件版本7.9.11 – 7.10.0中,由于对用户提供的参数转义不充分以及缺少wpdb::prepare(),…

使用Docker部署开源项目FreeGPT35来免费调用ChatGPT3.5 API

Vercel部署FreeGPT35有严重限制&#xff0c;玩玩就好&#xff0c;真用还是得docker。 限制原因: Vercel的流式响应并不是一开始写流&#xff0c;客户端就能立刻收到响应流&#xff0c;而是先写到一个缓冲区&#xff0c;当流关闭才一股脑的流式响应回来(不是实时流) 因此导致: …

代码随想录Day31:贪心算法Part1

贪心算法的理论基础 主要的思路就是通过想局部最优解然后看能不能推导出全局最优&#xff0c;但是贪心算法没有统一的套路&#xff0c;每一个问题的贪心思路都可以非常不一样 Leetcode 455. 分发饼干 讲解前&#xff1a; 这时第一道贪心算法的题目&#xff0c;所以很简单&am…

Open CASCADE学习|放样建模

在CAD软件中&#xff0c;Loft&#xff08;放样&#xff09;功能则是用于创建三维实体或曲面的重要工具。通过选取两个或多个横截面&#xff0c;并沿这些横截面进行放样&#xff0c;可以生成复杂的三维模型。在CAD放样功能的操作中&#xff0c;用户可以选择不同的选项来定制放样…

【新手指南】创建简单搜索引擎优化报告

搜索引擎优化&#xff08;SEO&#xff09;是一项长期投资&#xff0c;需要持续监控&#xff0c;以确保产生您所期望的结果。这就是生成搜索引擎优化报告的重要性所在–这份报告会告诉你哪些有效&#xff0c;哪些无效&#xff0c;哪些需要改进。 如果你从未创建过搜索引擎优化报…

C语言 文件函数

目录 1. 文件的打开和关闭 2. 文件的顺序读写 2.1 顺序读写函数介绍 2.2读文件&#xff08;读文件只能读一次&#xff09; 2.3写文件 3. 文件的随机读写 3.1 fseek 3.2 ftell 3.3 rewind 4.文件读取结束的判定 4.1 被错误使误的 feof 我对读写的理解&#xff1a;(从…

SpringBoot 集成H2数据库,启动执行sql, 中文乱码

目录 H2数据库介绍 SpringBoot版本&#xff1a;SpringBoot 2.1.12.RELEASE 快速集成H2&#xff0c;maven依赖 快速集成H2&#xff0c;数据源及关键参数配置 spring.datasource.schema参数&#xff08;建表SQL脚本&#xff09; spring.datasource.data参数&#xff08;更新、…

【鹤城杯 2021】 CRYPTO刷题

easy_crypto 附件easy_crypto.txt&#xff0c;内容是社会核心主义观 公正公正公正诚信文明公正民主公正法治法治诚信民主自由敬业公正友善公正平等平等法治民主平等平等和谐敬业自由诚信平等和谐平等公正法治法治平等平等爱国和谐公正平等敬业公正敬业自由敬业平等自由法治和…

联想电脑VMware虚拟机VT开启虚拟化

以联想电脑为例。 关机重启&#xff0c; 有的电脑是按F2&#xff0c; 有的是按fnF2 进入BIOS&#xff0c;左右键&#xff0c;选择Configuration&#xff0c; 再上下键选择 Intel Virtual Technology 按回车键&#xff0c;再按上下键选择 Enable &#xff0c;回车确认。 按fn…

【VScode】同时编辑多处

【VScode】同时编辑多处 1. 多光标自定义批量编辑2. 选择多个&#xff0c;同时操作(批量选中局部匹配项)3. 取消选择4. 在不移动光标的情况下滚动屏幕5. 批量选中全局匹配项6.重点6.1 通过上下键选择多行6.2 同时选中所有行的末尾6.3 选中多列另一种方式6.4 通过正则的方式配置…

dockerhub右键快速搜索脚本

Chrome 浏览器扩展的后台脚本&#xff0c;用于创建右键菜单项&#xff0c;并根据用户的操作在新的标签页中打开 Docker Hub 网站或者进行搜索。 // 创建右键菜单项&#xff0c;用于打开 Docker Hub 网站 chrome.contextMenus.create({id: search-home, // 菜单项的唯一标识符t…

移除元素Java实现

题意 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须仅使用 额外空间 并 原地 修改数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元…

Netty实现udp服务器

1、TCP与UDP通信协议 网络传输层协议有两种&#xff0c;一种是TCP&#xff0c;另外一种是UDP。 TCP是一种面向连接的协议&#xff0c;提供可靠的数据传输。TCP通过三次握手建立连接&#xff0c;并通过确认和重传机制&#xff0c;保证数据的完整性和可靠性。TCP适用于对数据准…

红豆Cat 1开源|项目二: 从0-1设计一款MQTT版本DTU(支持GNSS)产品的软硬件全过程

MQTT版DTU&#xff08;GNSS&#xff09;项目概述 DTU 通常指的是数据传输单元&#xff0c;它是一种用于将现场设备的数据通过无线或有线方式传输到远程控制中心的设备。DTU 可以实现设备与控制中心之间的数据通信&#xff0c;以便实时监测和控制设备的运行状态。 产品定义描述…