C++ sort()函数使用简介
Sort函数简介
sort()函数是C++的一个排序函数,可以对传入参数给定的区间的所有元素进行排序,默认是升序,也可以是降序,如果需要其他排序规则需要自行编写compare()函数作为参数。sort()并不是简单的冒牌排序之类的,而是经过优化后的的快速排序算法函数模板,时间复杂度n*log2(n)。
函数原型
void sort(const _RanIt _First, const _RanIt _Last);
void sort(const _RanIt _First, const _RanIt _Last, _Pr _Pred);
//更加形象点的形式
void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp);
参数含义
- first:表示要排序数组的其实地址。
- last:表示数组结束地址的下一位(也就是最后一个元素的下一位)。
- comp:自定的排序方法,可填可不填,默认升序。
头文件
#include<algorithm>
样例
#include<algorithm>
#include <iostream>
using namespace std;
int main() {
int a[6] = { 8,5,6,7,1,0 };
sort(a,a+6);
for (int i = 0;i < 6;i++)
cout << a[i] << " ";
}
输出结果
0 1 5 6 7 8
比较函数
bool compare(typename a,typename b);
样例
#include<algorithm>
#include <iostream>
using namespace std;
bool compare(int a, int b)
{
return a > b;
}
int main() {
int a[6] = { 8,5,6,7,1,0 };
sort(a,a+6,compare);
for (int i = 0;i < 6;i++)
cout << a[i] << " ";
}
输出结果
8 7 6 5 1 0
C++ sort()函数使用简介的更多相关文章
- STL——sort函数简介
参考:http://blog.csdn.net/s030501408/article/details/5329477 0)与C标准库qsort的比较:http://bbs.csdn.net/topic ...
- STL sort 函数实现详解
作者:fengcc 原创作品 转载请注明出处 前几天阿里电话一面,被问到STL中sort函数的实现.以前没有仔细探究过,听人说是快速排序,于是回答说用快速排序实现的,但听电话另一端面试官的声音,感觉不 ...
- 神奇的sort()函数
今天来谈一谈sort()函数,sort() 方法用于对数组的元素进行排序,用法为arrayObject.sort(sortby):括号中的为可选参数,准确来说应该是一个函数,这个函数用来规定排序方法, ...
- qsort函数、sort函数【转】
http://blog.163.com/yuhua_kui/blog/static/9679964420142195442766/ 先说明一下:qsort和sort,只能对连续内存的数据进行排序,像链 ...
- C中的qsort函数和C++中的sort函数的理解与使用
一.qsort()函数 原型:_CRTIMP void __cdecl qsort (void*, size_t, size_t,int (*)(const void*, const void*)); ...
- 【Python】函数基础简介
一.函数 1. 简介 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段.函数能提高应用的模块性,和代码的重复利用率. 2. 组成 函数代码块以 def 关键词开头,后接函数名和圆括号( ...
- python 中的sort 和java中的Collections.sort()函数的使用
x=[1,2,3] x.sort()对的,x这个都变了 y=x.sort()错误 y=sorted(x)对的,x拍好序的一个副本 python中用匿名函数和自定义函数排序:(很奇怪的是比较函数返回的是 ...
- sort函数用法
原文链接:http://blog.csdn.net/csust_acm/article/details/7326418 sort函数的用法 做ACM题的时候,排序是一种经常要用到的操作.如果每次都自己 ...
- main函数的简介
//// main函数的简介.h// IOS笔记//// Created by .// Copyright © 2015年 All rights reserved.// //#import ...
随机推荐
- java 判断是否存在路径,不存在自动创建(兼容 window 和 linux)
1 private void createPath(String path){ 2 String os = System.getProperty("os.name"); 3 Str ...
- JVM线上故障初步简易排查
线上故障主要包括cpu 磁盘 内存 网络等问题 依次排查 1.cpu 1) 先用ps找到进程pid 2) top -H -p pid 找到cpu占用高的线程 3)printf '%x\n' pid 获 ...
- 腾讯云Centos7.6开放端口及配置腾讯云安全组
1:防火墙的开启.关闭.状态查询.设置开机自启.开机禁用命令 检查状态(1):firewall-cmd --state 检查状态(2):systemctl status firewalld.servi ...
- Java基本概念:异常
一.简介 描述: 异常(Exception)指不期而至的各种状况,异常发生的原因有很多,通常包含以下几大类: 用户输入了非法数据. 要打开的文件不存在. 网络通信时连接中断,或者JVM内存溢出. 异常 ...
- vscode undefined reference to `_imp__WSAStartup@8
vscode undefined reference to `_imp__WSAStartup@8' 使用vscode和g++编译.cpp时,报出如题错误,如下图: 查了百度之后,在.vscode/t ...
- VUE中的子父组件、兄弟组件之间相互传值,相互调用彼此的方法
vue--组件传值 父组件传值给子组件--"props" 一.父组件--示例 <template> <child :choose-data="choos ...
- FreeBSD ports 基本用法
首先获取portsnap#portsnap fetch extract---------------------------------------使用whereis 查询软件地址如#whereis ...
- python实现通过URL下载图片到本地服务器
import os import urllib.request image_url = 'http://img.jingtuitui.com/759fa20190115144450401.jpg' f ...
- shiro太复杂?快来试试这个轻量级权限认证框架!
前言 在java的世界里,有很多优秀的权限认证框架,如Apache Shiro.Spring Security 等等.这些框架背景强大,历史悠久,其生态也比较齐全. 但同时这些框架也并非十分完美,在前 ...
- linux中的gtk 编程的页面切换
在我们使用gtk这个工具时,有时想在同一个窗口中,根据选择来显示不同的操作菜单,这篇博文主要是解决此类问题 //创建窗口 GtkWidget *CreateMenuMain() { GtkWidget ...