zoukankan      html  css  js  c++  java
  • STL部分排序算子使用 partial_sort

    partial_sort 的使用

    partial_sort 是C++ STL 算法组件中的其中一个算法,其作用是对序列局部元素进行排序,默认排序是升序。它有两个重载函数。要使用partial_sort 需要引用头文件 algorithm。

    下面是一个例子:

    #include <iostream>
    #include <vector>//vector
    #include <algorithm>
    #include <time.h> //随机数
    using namespace std;
    
    //自定义排序比较方法,降序
    bool func(int i, int j) { return (i > j); }
    
    void main()
    {
        //定义容器
        vector<int>vec;
        srand(time(0));//随机数
        //赋值
        for (int i = 0; i < 10; i++)
        {
            int num = rand() % 100;
            vec.push_back(num);
        }
    
        //迭代器
        vector<int>::iterator vi;
    
        //输出
        cout << "局部排序前:" << endl;
        for (vi = vec.begin(); vi < vec.end(); vi++) { cout << *vi << '	'; }
        cout << endl;
    
        // 局部排序,默认排序
        partial_sort(vec.begin(), vec.begin() + 5, vec.end());
        // 输出
        cout << "局部排序,排序后:" << endl;
        for (vi = vec.begin(); vi < vec.end(); vi++) { cout << *vi << '	'; }
        cout << endl;
    
        // 全部排序,默认排序
        partial_sort(vec.begin(), vec.end(), vec.end());
        // 输出
        cout << "全部排序后:" << endl;
        for (vi = vec.begin(); vi < vec.end(); vi++) { cout << *vi << '	'; }
        cout << endl;
    
        // 局部排序,自定义排序
        partial_sort(vec.begin(), vec.begin() + 5, vec.end(), func);
        // 输出
        cout << "局部排序,自定义降序:" << endl;
        for (vi = vec.begin(); vi < vec.end(); vi++) { cout << *vi << '	'; }
        cout << endl;
    
        // 全部排序,自定义排序
        partial_sort(vec.begin(), vec.end(), vec.end(), func);
        // 输出
        cout << "全部排序,自定义降序:" << endl;
        for (vi = vec.begin(); vi < vec.end(); vi++) { cout << *vi << '	'; }
        cout << endl;
    }
  • 相关阅读:
    c/c++:字符串输入输出流
    POJ 1036Gangsters【DP】
    POJ 1157LITTLE SHOP OF FLOWERS【DP】
    一个月后....
    http://poj.org/problem?id=1258
    POJ 2677 Tour【DP】
    POJ 1160Post Office【DP】
    C基础
    linux面试fork函数题
    linux学习
  • 原文地址:https://www.cnblogs.com/codeAndlearn/p/14230311.html
Copyright © 2011-2022 走看看