vector 排序

Posted 于光远

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vector 排序相关的知识,希望对你有一定的参考价值。

http://classfoo.com/ccby/article/cIBahI

排序 sort 同 stable_sort

#include <vector>
#include <algorithm>
#include <functional> // For greater<int>()
#include <iostream>

int main()
{
    vector <int> foo;
    vector <int>::iterator Iter1;
    for (int ii = 0; ii <= 5; ii++){
        foo.push_back(2 * ii + 1);
    }
    // 按升序排序,使用默认的二元谓词函数
    sort(foo.begin(), foo.end());
    // 按降序排序,提供二元谓词函数
    sort(foo.begin(), foo.end(), greater<int>());
    // 使用自定义的二元谓词函数
    sort(foo.begin(), foo.end(), [](int elem1, int elem2){return elem1 > elem2; });
    for (Iter1 = foo.begin(); Iter1 != foo.end(); Iter1++)
        cout << *Iter1 << " ";
    return 0;
}

部分排序,随机数,generate函数

#include <vector>
#include <algorithm> // for generate、partial_sort
#include <functional>
#include <iostream>
#include <cstdlib> // std::rand, std::srand
#include <ctime> // std::time

namespace ClassFoo{

int RandomNumber() { return (std::rand() % 100); }

void PartialSort1()
{
std::srand(unsigned(std::time(0)));
std::vector<int> foo(15);
std::generate(foo.begin(), foo.end(), RandomNumber);
// 部份排序前七个元素
std::partial_sort(foo.begin(), foo.begin() + 7, foo.end());

std::vector <int>::iterator Iter1;
for (Iter1 = foo.begin(); Iter1 != foo.end(); Iter1++)
std::cout << *Iter1 << " ";
std::cout << std::endl;
}
}

int main(void)
{
ClassFoo::PartialSort1();
return 0;
}

 

以上是关于vector 排序的主要内容,如果未能解决你的问题,请参考以下文章

初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段

初识Spring源码 -- doResolveDependency | findAutowireCandidates | @Order@Priority调用排序 | @Autowired注入(代码片段

这个代码片段究竟做了啥?

c++小白求助!用sort对vector排序的问题

C++vector数组排序

C++STL二维vector指定位置排序