std::min_element 用法與範例

本篇介紹 C++ std::min_element 的用法與範例,

傳統陣列用 std::min_element

以下為傳統陣列使用 std::min_element 的用法,

std-min_element.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
// g++ std-min_element.cpp -o a.out
#include <iostream>
#include <algorithm>

using namespace std;

int main() {
int num[] = {3, 1, -14, 1, 5, 9};
int len = sizeof(num) / sizeof(int);
std::cout << "min element: " <<
*std::min_element(num, num+len) << "\n";
return 0;
}

輸出:

1
min element: -14

vector 用 std::min_element

以下是在 C++ vector 容器裡使用 std::min_element 找最小值的範例,std::min_element 會回傳一個迭代器,這個迭代器會指向該容器範圍內最小值的元素,

std-min_element2.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// g++ std-min_element2.cpp -o a.out -std=c++11
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main() {
std::vector<int> v{3, 1, -14, 1, 5, 9};
std::vector<int>::iterator result;

result = std::min_element(v.begin(), v.end());
std::cout << "min element: " << *result << "\n";
return 0;
}

進階(懶人)寫法,直接跳過迭代器

這是比較進階(懶人)的寫法,直接回傳指向的元素並且複製到新的 min 變數裡,

std-min_element3.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// g++ std-min_element3.cpp -o a.out -std=c++11
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main() {
std::vector<int> v{3, 1, -14, 1, 5, 9};

int min = *std::min_element(v.begin(), v.end());
std::cout << "min element: " << min << "\n";
return 0;
}

以上就是 std::min_element 用法與範例介紹,
如果你覺得我的文章寫得不錯、對你有幫助的話記得 Facebook 按讚支持一下!

其他參考
std::min_element - cppreference.com
https://en.cppreference.com/w/cpp/algorithm/min_element
min_element - C++ Reference
http://www.cplusplus.com/reference/algorithm/min_element/

其它相關文章推薦
C/C++ 新手入門教學懶人包
std::min 用法與範例
C++ virtual 的兩種用法
C/C++ 字串反轉 reverse
C/C++ call by value傳值, call by pointer傳址, call by reference傳參考 的差別
C++ 類別樣板 class template
std::sort 用法與範例
std::find 用法與範例
std::queue 用法與範例
std::map 用法與範例