找出Vector中所有最小值

xiaoxiao2021-02-28  132

使用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; }

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

转载请注明原文地址: https://www.6miu.com/read-21880.html

最新回复(0)