c++STL之sort排序
排序算法为竞赛中最常用的算法之一,我们可以利用C++自带的库函数进行排序。
————《信息学奥赛一本通》
#include<iostream>
#include<algorithm> int main()
{
int a[];
int n;
std::cin>>n;
for(int i=;i<n;i++)
{
std::cin>>a[n];//输入
}
std::sort(a+,a+n);//sort 排序 含义:升序排序a数组的第0位到a数组的第n位
for(int i=;i<n;i++)
{
std::cout<<a[n];//输出
}
return ;
}
以上是最最简单的一个用sort排序的程序
读者可能有疑问了,难道sort只能升序排序吗?
其实不然。sort默认确实是升序排序,不过你可以自己定义排序规则,比如说下面这样:
#include<iostream>
#include<algorithm>
int aa(int x,int y) 自己定义的排序规则,可以实现降序排序
{
if(x>y) return ;
else return ;
}
int main()
{
int a[];
int n;
std::cin>>n;
for(int i=;i<n;i++)
{
std::cin>>a[n];
}
std::sort(a+,a+n,aa);//排序a数组的第0位到第n位,用自己定义的aa排序规则
for(int i=;i<n;i++)
{
std::cout<<a[n];
}
return ;
}
这里定义的aa函数,就是你进行sort排序时的规则,这里这个规则可以随你写,比如说按照其他特征排序,如:关键字等等,而且其中的排序规则可以有多个,比如说下面这个:
int aa(const student & a,const student &b)
{
if(a.score>b.score) return ;
if(a.score<b.score) return ;
if(a.name<b.name) return ;
}
这个是对一个结构体中的数据进行排序,排序的规则是按照结构体中score的大小降序排序,如果两个score相等,就按照name的字典序升序排序,相信大家动能看得懂。
下面贴出一个例题:
Combination
(iknowss.cpp)
Description
有 n 个正整数,伟大的中国人民要把它们连接成一排,形成一个最大的integer。
举个栗子:n=3 时,3 个整数 1,3,4 联接成的最大整数为:431 又如:n=4 时,4 个整数 7,13,4,246 联接成的最大整数为:7424613
Input
N后跟n个正整数。
Output
连成的最大数
Hint
对于前7个数据,n<=100000
对于第8个数据,n<=10000
对于第9个数据,n<=1000
对于第10个数据,n<=100
对于所有数据,integer<=10^10
数据随机,略弱=-=
(以上又是二货学长改自noip题)
这个题最简单的方法就是用字符串格式输入的这几个数,按照字符串字典序sort,再降序输出就可以了(为什么这次学长出的题这么水。。。于是我就有时间多讲了点sort。。。)
以下贴出源代码:
#include<cstdio>
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int aa(string x,string y)
{
if(x>y) return ;
else return ;
}
int main()
{
freopen("iknowss.in","r",stdin);
freopen("iknowss.out","w",stdout);
int n;
string zong[];
cin>>n;
for(int i=;i<n;i++)
{
string zhong;
cin>>zhong;
zong[i]=zhong;
}
sort(zong+,zong+n,aa);
for(int i=;i<n;i++)
{
cout<<zong[i];
}
return ;
}
完。
c++STL之sort排序的更多相关文章
- STL vector+sort排序和multiset/multimap排序比较
由 www.169it.com 搜集整理 在C++的STL库中,要实现排序可以通过将所有元素保存到vector中,然后通过sort算法来排序,也可以通过multimap实现在插入元素的时候进行排序.在 ...
- STL源代码分析——STL算法sort排序算法
前言 因为在前文的<STL算法剖析>中,源代码剖析许多,不方便学习,也不方便以后复习.这里把这些算法进行归类,对他们单独的源代码剖析进行解说.本文介绍的STL算法中的sort排序算法,SG ...
- STL中sort排序算法第三个参数_Compare的实现本质
关于C++ STL vector 中的sort排序算法有三种自定义实现,它们本质上都是返回bool类型,提供给sort函数作为第三个参数. 重载运算符 全局的比较函数 函数对象 我认为从实现方式看,重 ...
- STL之 sort排序与检索(2019.1.18)
1.作用对象:数组 a[n] 头文件:#include<algorithm> 内容:sort(a,a+n) 功能:进行升序排序 内容:lower_bound(a,a+n,x) 功能:找到 ...
- [转] C++的STL库,vector sort排序时间复杂度 及常见容器比较
http://www.169it.com/article/3215620760.html http://www.cnblogs.com/sharpfeng/archive/2012/09/18/269 ...
- 使用STL库sort函数对vector进行排序
使用STL库sort函数对vector进行排序,vector的内容为对象的指针,而不是对象. 代码如下 #include <stdio.h> #include <vector> ...
- 标准模板库(STL)学习指南之sort排序
对于程序员来说,数据结构是必修的一门课.从查找到排序,从链表到二叉树,几乎所有的算法和原理都需要理解,理解不了也要死记硬背下来.幸运的是这些理论都已经比较成熟,算法也基本固定下来,不需要你再去花费心思 ...
- STL 源码分析《1》---- list 归并排序的 迭代版本, 神奇的 STL list sort
最近在看 侯捷的 STL源码分析,发现了以下的这个list 排序算法,乍眼看去,实在难以看出它是归并排序. 平常大家写归并排序,通常写的是 递归版本..为了效率的考虑,STL库 给出了如下的 归并排序 ...
- 对vector等STL标准容器的排序操作
[+] STL提供的Sort 算法 所有sort算法介绍 sort 中的比较函数 sort 的稳定性 全排序 局部排序 nth_element 指定元素排序 partition 和stable_par ...
随机推荐
- mysql 数据库连接池
hibernate配置C3P0详解 分类: hibernate 2013-08-14 16:16 1213人阅读 评论 ...
- iOS开发~interface Builder(简称 IB) 界面构建器
1.interface Builder 设置界面 1.1 是什么? 一个可视化的界面编辑工具软件,在xcode4之后整合到了xcode中 1.2 作用? 通过可视化的界面设置,能够少写或不写代码而完成 ...
- NopCommerce 3.3中文语言包发布下载及使用
NopCommerce 3.3是一套国外优秀的开源电子商务项目,其拥有完整的电子商务功能且具有灵活的配置功能,基于微软最新技术ASP.NET MVC 5.1.1,EntityFramework.6.1 ...
- 十进制二进制之间的转化 PHP算法
[ 十进制转二进制 ] function test($var){ $func = function($i){ if($i < 2){ return $i; } $return['int'] = ...
- 2015网易校招Java开发工程师(技术架构)在线笔试题
1. 程序和进程的本质区别是? A.在外存和内存存储 B.非顺序和顺序执行机器指令 C.独占使用和分时使用计算机资源 D.静态和动态特征 参考答案分析: 进程与应用程序的区别: 进程(Process ...
- Windows下FFmpeg快速入门 <第二篇>
FFmpeg简介 FFmpeg是什么? FFmpeg是用于录制.转换和流化音频和视频的完整解决方案, 包括 libavcodec ,一套领先的音/视频编解码类库.FFmpeg 在Linux上开发,当可 ...
- 007.androidUI开发进阶(基础--案例) .
1.Dialog有四种,分别是AlertDialog,ProgressDialog,DatePickerDialog,TimePickerDialog 1.1AlertDialog public cl ...
- Linux下程序崩溃,ulimit,coredump,gdbserver
操作系统:Ubuntu10.04 前言: 在程序崩溃后,如何快速定位问题. 以下方法适用于开发调试阶段,不太适用成品. 本文着眼于嵌入式,PC方面更简单. 核心:gdbserv ...
- Family Tree
Question A traditional constructing tree problem. Given a string to represent relationships, and pri ...
- tomcat7 https 成功测试
1,生成证书