c ++中的Sort函数

2023-10-27

简介:c++标准库里的Sort()函数是 c++自带的一种排序函数,可替换以前的冒泡排序和选择排序。

1.Sort函数包含在头文件#include<algorithim>中

2、Sort函数使用模板

(1)Sort(start,end,排序反法)

(2)Sort函数中有三个参数:

        第一个是要排序的数组的起始地址。

        第二个是结束的地址(最后一位要排序的地址的下一地址)

        第三个参数是排序的方法,可以是从小到大也可以是从大到小。      第三个参数可以省略,默认为从小到大。


看例子:

 

#include<iostream>
 
#include<algorithm>
 
using namespace std;
 
int main()
 
{
 
 int a[10]={8,6,7,9,5,1,3,4,2,0};
 
 for(int i=0;i<10;i++)
 
 cout<<a[i]<<endl;
 
sort(a,a+10);
 
 for(int i=0;i<10;i++)
 
 cout<<a[i]<<endl;
 
 return 0;
 
}

       


        可以看到其中Sort()的第二个参数为函数的最后一位地址为9加上1,即为10。那么加上第三个参数后怎么设置呢?


第三个参数:

        在c++中Sort函数的第三个参数可以用这样的语句告诉程序你所采用的排序原则

        less<数据类型>()        //从小到大排序

        greater<数据类型>()        //从大到小排序

#include<iostream>
 
#include<algorithm>
 
using namespace std;
 
int main()
 
{
 
 int a[10]={3,5,4,6,9,7,1,8,0,2};
 
 for(int i=0;i<10;i++)
 
 {
    cout<<a[i]<<" ";
 }
    cout<<endl;
sort(a,a+10,less<int>());
 
 for(int i=0;i<10;i++)
 
  {
    cout<<a[i]<<" ";
 }
    cout<<endl;
 return 0;
 
}
 
 
 
 
#include<iostream>
 
#include<algorithm>
 
using namespace std;
 
int main()
 
{
 
 int a[10]={3,5,4,6,9,7,1,8,0,2};
 
 for(int i=0;i<10;i++)
 
  {
    cout<<a[i]<<" ";
 }
    cout<<endl;
 
 sort(a,a+10,greater<int>());
 
 for(int i=0;i<10;i++)
 
  {
    cout<<a[i]<<" ";
 }
    cout<<endl;
 
 return 0;
 
}

0303e2c380664aed88c7336249774409.png

7fa948f552ba4aedaa25032de584044e.png 

 

写在最后:

        字符也可以运用在Sort函数中,使用标准库中的一些函数可以加快你的编程速度哦。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

c ++中的Sort函数 的相关文章

  • boost::asio + std::future - 关闭套接字后访问冲突

    我正在编写一个简单的 TCP 客户端来发送和接收单行文本 异步操作由 std future 处理 以便于超时阻塞查询 不幸的是 我的测试应用程序在破坏服务器对象时因访问冲突而崩溃 这是我的代码 TCP客户端 hpp ifndef TCPCL
  • 如何在 Visual Studio 2010 中增强 XAML 设计器?

    当我使用 XAML 设计器时 进入设计器和退出设计器是如此困难和缓慢 当我这样做时 Visual Studio 卡了一段时间 有什么方法可以增强 XAML 设计器和编辑器吗 Ant 保存 XAML 文件时非常慢 这通常意味着您可能有复杂的
  • 如何为 C 分配的 numpy 数组注册析构函数?

    我想在 C C 中为 numpy 数组分配数字 并将它们作为 numpy 数组传递给 python 我可以做的PyArray SimpleNewFromData http docs scipy org doc numpy reference
  • 如何将 #ifdef DEBUG 添加到 Xcode?

    我的项目中有一些代码永远不应该在发布版本中使用 但在测试时很有用 我想做这样的事情 ifdef DEBUG Run my debugging only code endif 在 Xcode 4 中哪里添加 DEBUG 设置 我尝试将其放入
  • 在 Unity 进程和另一个 C# 进程之间进行本地 IPC 的最快方法 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我希望每秒大约 30 次从 C 应用程序向我的 Unity 应用程序传送大量数据 由于 Unity 不支持映射内存和管道 我考虑了 t
  • 读取文件特定行号的有效方法。 (奖励:Python 手册印刷错误)

    我有一个 100 GB 的文本文件 它是来自数据库的 BCP 转储 当我尝试导入它时BULK INSERT 我在第 219506324 行上收到一个神秘错误 在解决此问题之前 我想看看这一行 但可惜的是我最喜欢的方法 import line
  • 存储来自其他程序的事件

    我想将其他应用程序的事件存储在我自己的应用程序中 事件示例 打开 最小化 Word 或打开文件时 这样的事可能吗 运行程序 http msdn microsoft com en us library ms813609 aspx and 打开
  • 使用 C 语言使用 strftime() 获取缩写时区

    我看过this https stackoverflow com questions 34408909 how to get abbreviated timezone and this https stackoverflow com ques
  • ASP.NET:获取自 1970 年 1 月 1 日以来的毫秒数

    我有一个 ASP NET VB NET 日期 我试图获取自 1970 年 1 月 1 日以来的毫秒数 我尝试在 MSDN 中寻找方法 但找不到任何东西 有谁知道如何做到这一点 从 NET 4 6 开始 该方法ToUnixTimeMillis
  • 关于在 Windows 上使用 WiFi Direct Api?

    我目前正在开发一个应用程序 我需要在其中创建链接 阅读 无线网络连接 在桌面应用程序 在 Windows 10 上 和平板电脑 Android 但无关紧要 之间 工作流程 按钮 gt 如果需要提升权限 gt 创建类似托管网络的 WiFi 网
  • 单击 form2 上的按钮触发 form 1 中的方法

    我对 Windows 窗体很陌生 我想知道是否可以通过单击表单 2 中的按钮来触发表单 1 中的方法 我的表格 1 有一个组合框 我的 Form 2 有一个 保存 按钮 我想要实现的是 当用户单击表单 2 中的 保存 时 我需要检查表单 1
  • 将 Excel 导入到 Datagridview

    我使用此代码打开 Excel 文件并将其保存在 DataGridView 中 string name Items string constr Provider Microsoft Jet OLEDB 4 0 Data Source Dial
  • 使用 JNI 从 Java 代码中检索 String 值的内存泄漏

    我使用 GetStringUTFChars 从使用 JNI 的 java 代码中检索字符串的值 并使用 ReleaseStringUTFChars 释放该字符串 当代码在 JRE 1 4 上运行时 不会出现内存泄漏 但如果相同的代码在 JR
  • 在一个字节中存储 4 个不同的值

    我有一个任务要做 但我不知道从哪里开始 我不期待也绝对不想要代码中的答案 我想要一些关于该怎么做的指导 因为我感到有点失落 将变量打包和解包到一个字节中 您需要在一个字节中存储 4 个不同的值 这些值为 NAME RANGE BITS en
  • 使用 Moq 使用内部构造函数模拟类型

    我正在尝试模拟 Microsoft Sync Framework 中的一个类 它只有一个内部构造函数 当我尝试以下操作时 var fullEnumerationContextMock new Mock
  • 如何编写一个同时需要请求和响应Dtos的ServiceStack插件

    我需要提供本地化数据服务 所有本地化的响应 Dto 都共享相同的属性 IE 我定义了一个接口 ILocalizedDto 来标记那些 Dto 在请求端 有一个ILocalizedRequest对于需要本地化的请求 Using IPlugin
  • 私有模板函数

    我有一堂课 C h class C private template
  • HttpWebRequest 在第二次调用时超时

    为什么以下代码在第二次 及后续 运行时超时 代码挂在 using Stream objStream request GetResponse GetResponseStream 然后引发 WebException 表示请求已超时 我已经尝试过
  • C++ 密码屏蔽

    我正在编写一个代码来接收密码输入 下面是我的代码 程序运行良好 但问题是除了数字和字母字符之外的其他键也被读取 例如删除 插入等 我知道如何避免它吗 特q string pw char c while c 13 Loop until Ent
  • 线程和 fork()。我该如何处理呢? [复制]

    这个问题在这里已经有答案了 可能的重复 多线程程序中的fork https stackoverflow com questions 1235516 fork in multi threaded program 如果我有一个使用 fork 的

随机推荐

  • macOS通过钥匙串访问找回WiFi密码

    如果您忘记了Mac电脑上的WiFi密码 可以通过钥匙串访问来找回它 具体步骤如下 1 打开Mac电脑的 启动台 然后在其他文件中找到 钥匙串访问 2 运行 钥匙串访问 应用程序 点击左侧的 系统 然后在右侧找到要查看的WiFi网络名称 如果
  • 蓝桥杯 试题 算法训练 拿金币 C++ 详解

    题目 有一个N x N的方格 每一个格子都有一些金币 只要站在格子里就能拿到里面的金币 你站在最左上角的格子里 每次可以从一个格子走到它右边或下边的格子里 请问如何走才能拿到最多的金币 前言 请先阅读以下两篇文章 https blog cs
  • SPI机制

    1 概念 spi全称为 Service Provider Interface 是JDK内置的一种服务提供发现机制 SPI是一种动态替换发现的机制 一种解耦非常优秀的思想 它是jdk提供给 服务提供厂商 或者 插件开发者 使用的接口 是一种扩
  • scrapy模拟点击

    lua click function main splash args assert splash go args url assert splash wait 0 5 local form splash select buttonId f
  • CDH配置显示计算机错误,CDH常见问题及解决方法(待续)

    启动CDH提示Deploy Client configuration fail 原因 依赖包perl未安装 yum install y perl 自用脚本中的yum操作所需依赖包 仅做参考 yum Cy install wget bind
  • 二维字符数组利用gets()函数输入

    举例 char a 10 81 for int i 0 i lt 10 i gets a i a是二维字符数组的数组名 相当于一维数组的指针 所以a i 就相当于指向第i个数组的指针 类型就相当于char 相当于字符串 转载于 https
  • Scrapy 如何正确发送 POST请求 获取到响应数据的三种写法

    问题描述 碰到了使用 data pageNo 1 pageSize 100 tableName equal projectType G1 publishTimeStart areaCode title publishTimeEnd mode
  • [安全攻防进阶篇] 三.OllyDbg和Cheat Engine工具逆向分析植物大战僵尸游戏

    从2019年7月开始 我来到了一个陌生的专业 网络空间安全 初入安全领域 是非常痛苦和难受的 要学的东西太多 涉及面太广 但好在自己通过分享100篇 网络安全自学 系列文章 艰难前行着 感恩这一年相识 相知 相趣的安全大佬和朋友们 如果写得
  • C++day4(拷贝赋值函数、匿名对象、友元、常成员函数和常对象、运算符重载)

    一 Xmind整理 二 上课笔记整理 1 day3作业订正 设计一个Per类 类中包含私有成员 姓名 年龄 指针成员身高 include
  • 国王将金币作为工资,发放给忠诚的骑士。 问题 G: 金币

    题目描述 国王将金币作为工资 发放给忠诚的骑士 第一天 骑士收到一枚金币 之后两天 第二天和第三天 每天收到两枚金币 之后三天 第四 五 六天 每天收到三枚金币 之后四天 第七 八 九 十天 每天收到四枚金币 这种工资发放模式会一直这样延续
  • 解析全双工,半双工与CSMA/CD的关系,CSMA/CD在现在的交换式以太网下还用吗?

    首先参考了王道书对于交换机跟各种设备的区别于联系 其次以下内容为转载 我们知道 以太网访问控制用的是CSMA CD 即载波侦听多点接入 冲突检测 是以广播的方式将数据发送到所有端口 我们还知道 交换机能主动学习端口所接设备的MAC地址 在获
  • Leetcode-36. Valid Sudoku

    Topic background Determine if a 9 x 9 Sudoku board is valid Only the filled cells need to be validated according to the
  • java变速_java编程加载窗口,实现物体变速运动(台球的运动)

    1 整体的结构图 2 编写GameFrame03 java的代码 package cn bjsxt test import java awt Frame import java awt Graphics import java awt Im
  • TopCoder提交测试

    TopCoder网络连接不是很好 尝试了各种方法后 用Edge浏览器 全局代理连上了 似乎不用代理也可以 网址 https arena topcoder com 刷题点击上边栏的Practice Problem 点击题目后进入页面需要加载很
  • YoloV5 train.py 如何使用

    parser 参数详解 1 weights 初始化模型 有yolov5m yolov5s yolov5x yolov5l 如果为设置为空就是没有任何与训练模型 2 config 训练配置文件 yaml 文件 与预训练模型相对应 3 data
  • Python+Vue计算机毕业设计健身房管理系统m127n(源码+程序+LW+部署)

    该项目含有源码 文档 程序 数据库 配套开发软件 软件安装教程 项目运行环境配置 Python3 7 7 Django Mysql5 7 pip list HBuilderX Vscode也行 Vue Pychram社区版 项目技术 Dja
  • leetcode刷题笔记

    C leetcode notes vector
  • 隐私计算FATE-----离线预测

    一 说明 Fate 的模型预测有 离线预测 和 在线预测 两种方式 两者的效果是一样的 主要是使用方式 适用场景 高可用 性能等方面有很大差别 本文分享使用 Fate 基于 纵向逻辑回归 算法训练出来的模型进行离线预测实践 基于上文 隐私计
  • 使用Implement.js在JavaScript中实现接口

    在这篇博客文章中 我将介绍接口的概念以及它们在动态语言中的用法 我还将使用库Implement js将概念引入JavaScript 并向您展示如何从接口中获取一些额外的实用程序 什么是接口 Google将界面定义为 两个系统 主题 组织等相
  • c ++中的Sort函数

    简介 c 标准库里的Sort 函数是 c 自带的一种排序函数 可替换以前的冒泡排序和选择排序 1 Sort函数包含在头文件 include