找出Vector中所有最小值

使用STL的Vector时,利用函数 max_element,min_element,distance可以获取Vector中最大、最小值的值和位置索引。
参考获取最小值

但这两个函数都只能取出一个,如果想计算出有多少个最小值。可以在此基础上进行遍历,也可以用下面的思路

// 找出向量里面所有最小值的方法
// 这里是将其余值删掉
#include <iostream>
#include <vector>
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; j<num-i; ++j)
            {
                int_vec.pop_back();
            }
        }
    }

    for(int i = int_vec.size()-1; i>=0; --i)
    {
        cout << "*" << int_vec[i];
    }

    return 0;
}

当然这只是其中一种思路。

发布了3 篇原创文章 · 获赞 1 · 访问量 2937
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览