Vectorの最小値をすべて検出

3049 ワード

STLのVectorを使用する場合、関数max_を利用element,min_element、distanceは、Vectorの最大、最小値の値と位置インデックスを取得します.リファレンス最小値の取得
しかし、この2つの関数はいずれも1つしか取り出せません.最小値がどれだけあるかを計算したい場合は.その上で遍歴してもいいし、次のような考え方でもいいです.
//               
//          
#include 
#include 
using namespace std;

int main()
{
    vector<int> int_vec;
    for(int i = 0; i< 5; ++i)
    {
        int_vec.push_back(i);
    }
    int_vec.push_back(1);
    int_vec.push_back(2);
    int_vec.push_back(5);
    int_vec.push_back(1);
    int_vec.push_back(0);
    int_vec.push_back(1);
    int_vec.push_back(0);
    int_vec.push_back(1);
    int_vec.push_back(4);

    cout << int_vec.size() << endl;

    for(int i = int_vec.size()-1; i>0; --i)
    {
        if(int_vec[i] < int_vec[i-1])
        {
            int temp = int_vec[i-1];
            int_vec[i-1] = int_vec[int_vec.size()-1];
            int_vec[int_vec.size()-1] = temp;
            int_vec.pop_back();
            continue;
        }
        if(int_vec[i] > int_vec[i-1])
        {
            int num = int_vec.size();
            for(int j = 0; jfor(int i = int_vec.size()-1; i>=0; --i)
    {
        cout << "*" << int_vec[i];
    }

    return 0;
}

もちろんこれはその一つの考え方にすぎない.