STL下<algorithm>下的reverse函数

定义:

reverse用于C++中,对给定区间所有元素进行排序,是一种反向函数,不具备排序功能。sort函数包含在头文件为#include<algorithm>的C++标准库中。

语法:

reverse(first,last)

参数:

(1)first表示要排序数组的起始地址;
(2)last表示数组结束地址的下一位;

功能:

reverse函数用于C++中,对给定区间所有元素进行反转,一般是直接对数组进行反转,例如对数组a[10]反转,reverse(a,a+10)。有点类似于sort(start,end,cmp)。

例子:

给n组数据从大到小排序

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    cin>>n;
    int a[n];
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
    }
    sort(a,a+n);
    reverse(a,a+n);
    for(int i=0;i<n-1;i++)
    {
        cout<<a[i]<<" ";
    }
    cout<<a[n-1];
}

原文地址:https://www.cnblogs.com/icesunbo/p/11487839.html

时间: 2024-10-16 02:17:44

STL下<algorithm>下的reverse函数的相关文章

Linux 下使用C语言 gets()函数报错

在Linux下,使用 gets(cmd) 函数报错:warning: the 'gets' function is dangerous and should not be used. 解决办法:采用 fgets(cmd,100,stdin);//100为size 问题解决! fgets从stdin中读字符,直至读到换行符或文件结束,但一次最多读size个字符.读出的字符连同换行符存入缓冲区cmd中.返回指向cmd的指针. gets把从stdin中输入的一行信息存入cmd中,然后将换行符置换成串结

记录一个小技巧,在一个包下的多个main函数调试

在eclipse中,有好几个class想做测试,又不想工程太多,都写在了一个包里面,也方便import 但是每次运行的时候,eclipse都默认运行第一次建立的那个main函数. 要想运行其他的,需要做一下修改. 在工具栏中, 点击run旁边的下拉箭头,会出现一个下拉菜单. 点击Run Configurations 进入到配置界面 在标注红色的区域,上面那个是选取工程,下面那个是选取该工程的主函数 在这里点search,找到你刚写的新的主函数,如果里面还看不到,可以手动输入就好了 然后点击app

Linux下的目录扫描操作函数使用实践

[文章摘要] 本文以实际的C源程序为例子,介绍了Linux下的目录扫描函数(scandir)的使用方法,为相关开发工作的开展提供了有益的参考. [关键词] C语言  Linux  目录扫描  makefile  scandir 一.scandir命令简介 scandir函数的声明为: int scandir(const char *dir, structdirent ***namelist, int (*filter) (const void *b), int ( * compare )( co

兼容各种浏览器下调用iframe里面的函数

<script type="text/javascript"> var o = $(window.frames["menu"])[0].contentWindow; </script> <!-- <![endif]--> <!--[if IE]> <script type="text/javascript"> var o = window.frames["menu&quo

FireDAC 下的 Sqlite [8] - 自定义函数

Sqlite 本身没有这个功能, FireDAC 通过 TFDSQLiteFunction 增加了该功能; 尽管通过某些 SQL 语句或通过视图也可以达到类似效果, 但函数会更灵活些.本例先建了一个成绩表, 然后通过两个 TFDSQLiteFunction 实现了 "总分" 与 "平均分" 的计算. 你可以复制下面文本框中的内容, 然后直接往窗体上贴, 以快速完成窗体设计:object DBGrid1: TDBGrid Left = 8 Top = 88 Width

linux下的fork和execve函数使用

fork函数是linux中创建进程的函数,linux创建进程只有用fork,别无他法.我自己写代码fork用的不多,对它的一些细节还不是清楚,今天抽空研究了下fork,把它的一些关键点总结一下,以后用到了自己也好有个参考. 1)fork函数会在父进程中创建子进程,子进程的堆,栈,数据段,PC指针都是从父进程中复制过来的,和父进程是独立的,但是内容是一致的.代码段子进程和父进程是共享的. 2)fork()的返回值可能为-1,0,和一个正数.-1表示fork()调用失败,0表示返回子进程执行结果,正

Delphi - Windows系统下,Delphi调用API函数和7z.dll动态库,自动把文件压缩成.tar.gz格式的文件

项目背景 应欧美客户需求,需要将文件压缩成.tar.gz格式的文件,并上传给客户端SFTP服务器. 你懂的,7-Zip软件的显著特点是文件越大压缩比越高,在Linux系统上相当于我们Windows系统上WinRAR或者好压软件一样的存在. 7-Zip软件下载与安装 网上下载相关安装包并完成安装,找到安装目录,复制7z.dll文件到D盘. .bat文件的制作 通过7-Zip软件使用手册了解到,通过动态命令行调用7z.dll可以把文件压缩成.tar.gz格式的,实际上是先将文件压缩成.tar格式的文

【STL】reverse函数用法

reverse函数的功能是反转排序一个容器中指定元素的内容. 函数参数:reverse(first,last), 其中first,last分别指向被反转序列中初始及末尾位置的双向迭代器(Bidirectional iterators).这个范围即 [first,last) ,包括 first 到 last 间的所有元素,包括 first 指向的元素,但不包括 last 指向的元素. 无返回值 示例: #include <iostream> #include <list> names

【转】STL算法 &lt;algorithm&gt;中各种算法解析

原文:http://blog.csdn.net/tianshuai1111/article/details/7674327 一,巡防算法 for_each(容器起始地址,容器结束地址,要执行的方法) #include <iostream> #include <algorithm> #include <vector> using namespace std; template<class T> struct plus2 { void operator()(T&