• multiset-lower_bound


    ////////////////////////////////////////
    //      2018/05/04 17:36:15
    //      multiset-lower_bound
    
    // return an iteror to the first element greater than a certain value
    #include <iostream>
    #include <map>
    #include <string>
    #include <fstream>
    
    using namespace std;
    
    int main(){
        typedef multimap<char, string> M1;
        typedef M1::value_type v_t1;
        M1 m1;
    
        typedef multimap<string, char, less<string>> M2;
        typedef M2::value_type v_t2;
        M2 m2;
    
        string word;
        int counter = 0;
    
        ifstream In(".\word.txt");
        if (In.good()){
            while (1){
                getline(In, word);
                char ch = word.at(0);
                // file is sorted
                if (ch != 'A' && ch != 'a'){
                    break;
                }else{
                    // for counting of words
                    m1.insert(v_t1(ch, word));
                    // for upper_lower bound
                    m2.insert(v_t2(word,ch));
                }
                counter++;
            }
            In.close();
        }
    
        cout << "System Dictionary consists " << counter << " word with first letter 'a' or 'A'" << endl;
        cout << m1.count('A') << " words start with 'A'" << endl;
        cout << m1.count('a') << " words start with 'a'" << endl;
    
        M2::iterator low = m2.lower_bound("Aba");
        M2::iterator upp = m2.upper_bound("Ade");
    
        cout << "Range of the words form 'Aba' to 'Ade':" << endl;
        while (low != upp){
            cout << low->first << endl;
            low++;
        }
        return 0;
    }
    
    /*
    OUTPUT:
        System Dictionary consists 61 word with first letter 'a' or 'A'
        14 words start with 'A'
        47 words start with 'a'
        Range of the words form 'Aba' to 'Ade':
        Abolish
        Action
        Acute
    */ 
  • 相关阅读:
    文件载入功能
    代码调试功能
    实用项
    连贯操作
    AR模式
    表名操作
    字段映射
    ThinkPHP中的模型二
    创建数据对象
    HDU 4888 Redraw Beautiful Drawings(最大流+判最大流网络是否唯一)
  • 原文地址:https://www.cnblogs.com/laohaozi/p/12537828.html
Copyright © 2020-2023  润新知