【C++基础】sort函数

sort函数的时间复杂度为O(n*logn),排序方法类似于快排.

# 头文件

#include<algorithm>
using namespace std;

# 参数

  • 第一个参数:要排序的数组的起始地址
  • 第二个参数:要排序的数组的终止地址
  • 第三个参数:排序的方法,可以是从小到大也可以是从大到小。默认从小到大排序

# 实例

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
// 辅助函数
bool cmp(int a,int b)
{
    return a>b;
}
 
// 三个参数
void three_parameter(vector<int> vec)
{
    sort(vec.begin(),vec.end(),cmp);

    for(int i=0;i<vec.size();++i)
        cout<<vec[i]<<endl;
}
 
// 两个参数
void two_parameter(vector<int> vec)
{
    sort(vec.begin(),vec.end());

    for(int i=0;i<vec.size();++i)
        cout<<vec[i]<<endl;

}
 
// 主函数
int main()
{
    vector<int> vec = {1,5,9,1,4,2,8,55,121};

    two_parameter(vec);
    three_parameter(vec);

    return 0;
}

原文地址:https://www.cnblogs.com/wanglei5205/p/9182195.html

时间: 2024-10-13 03:00:39

【C++基础】sort函数的相关文章

基础-Sort函数

Sort elements in range Sorts the elements in the range [first,last) into ascending order. The elements are compared using operator< for the first version, and comp for the second. Equivalent elements are not guaranteed to keep their original relative

细说C++中的sort 函数

我们在算法程序中用的最多的函数就行sort,但经常会忘记如何写比较函数,这里详细做个总结. 1) C++中sort函数的原型 default (1) template <class RandomAccessIterator> void sort (RandomAccessIterator first, RandomAccessIterator last); custom (2) template <class RandomAccessIterator, class Compare>

1016. Phone Bills (25) -vector排序(sort函数)

题目如下: A long-distance telephone company charges its customers by the following rules: Making a long-distance call costs a certain amount per minute, depending on the time of day when the call is made. When a customer starts connecting a long-distance

STL sort()函数

C++之所以得到这么多人的喜欢,是因为它既具有面向对象的概念,又保持了C语言高效的特点.STL 排序算法同样需要保持高效.因此,对于不同的需求,STL提供的不同的函数,不同的函数,实现的算法又不尽相同. 1.1 所有sort算法介绍 所有的sort算法的参数都需要输入一个范围,[begin, end).这里使用的迭代器(iterator)都需是随机迭代器(RadomAccessIterator), 也就是说可以随机访问的迭代器,如:it+n什么的.(partition 和stable_parti

(8)关于数组的sort()函数

sort()函数如果不加参数,则默认按ascii码表排序. 若加参数,则其参数必须为判断函数,必须为判断函数.必须都有返回值!!! 首先来看一个例子, <html> <body> </body> <script> var a=[7,'-3',5,2,8]; function paixu(a,b){ return 1; } a.sort(paixu);// [8,2,5,-3,7]; </script> </html> 也就是说,如果函

python基础——sorted()函数

python基础——sorted()函数 排序算法 排序也是在程序中经常用到的算法.无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小.如果是数字,我们可以直接比较,但如果是字符串或者两个dict呢?直接比较数学上的大小是没有意义的,因此,比较的过程必须通过函数抽象出来. Python内置的sorted()函数就可以对list进行排序: >>> sorted([36, 5, -12, 9, -21]) [-21, -12, 5, 9, 36] 此外,sorted()函数也是一个

实战c++中的vector系列--使用sort算法对vector&lt;unique_ptr&lt;string&gt;&gt;进行排序(sort函数出错“应输入 2 个参数,却提供了 3 个)

之前博客写了对vector使用sort算法进行的排序,之前也写到过vector<unique_ptr<string>>的一些处理方法. 今天就写一下对vector<unique_ptr<string>>使用sort算法进行排序. #include<iostream> #include<string> #include<vector> #include<algorithm> #include<memory&

C++中的sort函数

(一)为什么要用c++标准库里的排序函数 Sort()函数是c++一种排序方法之一,学会了这种方法也打消我学习c++以来使用的冒泡排序和选择排序所带来的执行效率不高的问题!因为它使用的排序方法是类似于快排的方法,时间复杂度为n*log2(n),执行效率较高! (二)c++标准库里的排序函数的使用方法 I)Sort函数包含在头文件为#include<algorithm>的c++标准库中,调用标准库里的排序方法可以不必知道其内部是如何实现的,只要出现我们想要的结果即可! II)Sort函数有三个参

C++ sort函数用法

参考文档:http://hi.baidu.com/posinfo/item/dc3e73584c535cc9d2e10c27 C++ sort函数用法 FROM:http://hi.baidu.com/blackdemonfish/blog/item/e2c1d655d702a45ed0090652%2Ehtml 最近算法作业经常需要排序.偶是一个很懒的人,于是一直用C++的sort进行排序---不少同志对此心存疑虑,所以今天就写一写sort的用法.声明:此用法是从某大牛的程序中看到的,其实偶只