c++sort函数的用法
c++sort函数的用法如下:sort函数用于C++中,对给定区间所有元素进行排序,默认为升序,也可进行降序排序。sort函数进行排序的时间复杂度为n*log2n,比冒泡之类的排序算法效率要高,sort函数包含在头文件为#include的c++标准库中。1970年,AT&T贝尔实验室的工作人员D.Ritchie和K.Thompson共同研发了C语言。研制C语言的初衷是用它编写UNIX系统程序,因此,实际上C语言是UNIX的“副产品”。1971年,瑞士联邦技术学院N.Wirth教授发明了第一个结构化的编程语言Pascal。20世纪70年代中期,本贾尼·斯特劳斯特卢普在剑桥大学计算机中心工作。斯特劳斯特卢普希望开发一个既要编程简单、正确可靠,又要运行高效、可移植的计算机程序设计语言。而以C语言为背景,以Simula思想为基础的语言,正好符合斯特劳斯特卢普的初衷和设想。1979年,本贾尼·斯特劳斯特卢普到了AT&T贝尔实验室,开始从事将C改良为带类的C(C with classes)的工作。、1983年,该语言被正式命名为C++。1985年、1990年和1994年,C++先后进行3次主要修订。C++的标准化工作于1989年开始 [21] ,并成立了一个ANSI和ISO(International Standards Organization)国际标准化组织的联合标准化委员会。
c++sort函数用法
用法如下:sort函数可以三个参数也可以两个参数,必须的头文件#include 和using namespace std;它使用的排序方法是类似于快排的方法,时间复杂度为n*log2(n)。Sort函数有三个参数:(第三个参数可不写)第一个是要排序的数组的起始地址。第二个是结束的地址(最后一位要排序的地址)第三个参数是排序的方法,可以是从大到小也可是从小到大,还可以不写第三个参数,此时默认的排序方法是从小到大排序。特点说明适用对象:支持随机访问的容器,即只支持序列式容器(vector, deque, array)。排序范围:左闭右开,即 [ )。在第 2 种版本定义中,comp 可以是 C++ STL 标准库提供的排序规则(比如 std::greater),也可以是自定义的排序规则。关于自定义的参数comp的设计原则:comp带两个同类型的参数,如果第一个参数排在第二个参数前面,返回true,否则返回false。返回值:无,因为它直接通过迭代器(指针)改变容器。默认进行升序排序。不稳定的排序:不能保证相同元素的相对顺序不变,sort() 函数是基于快速排序实现的。stable_sort()才是稳定的。
简明扼要的介绍下stable_sort()函数的用法。
需包含头文件:#include 因为它是库函数
用法:和sort一样一下介绍一下sort的用法
sort的应用;
1、可以传入两个参数;
sort(a,a+N) ,其中a是数组,a+N表示对a[0]至a[N-1]的N个数进行排序(默认从小到大排序);
2、传入三个参数;
sort(a,a+N,cmp),第三个参数是一个函数 ;
如果让函数从大到小排序,可以用如下算法实现;
bool cmp(int a,int b){return a>b};
sort(A,A+N,cmp);
但是有区别,区别是stable_sort函数遇到两个数相等时,不对其交换顺序;这个应用在数组里面不受影响,当函数参数传入的是结构体时,会发现两者之间的明显区别。