Qt 快速求最值
阿新 • • 發佈:2020-07-16
1. 求最大值
const T &qMax(const T &a, const T &b)
2. 求最小值
const T &qMin(const T &a, const T &b)
3. 求三值的中間值
const T &qBound(const T &v1,
const T &v2,
const T &v3)
4. 求列表容器的最值
- 利用C++標準庫介面
1 #include<algorithm> 2 template<classForwardIt, class Compare> 3 ForwardIt std::min_element(ForwardIt first, 4 ForwardIt last, 5 Compare comp) 6 7 ForwardIt std::max_element(ForwardIt first, 8 ForwardIt last, 9 Compare comp)
- 示例
1 QStringList list{"1", "3", "2"};
2 QString maxValue = *std::max_element(list.begin(), list.end());
3 QString minValue = *std::min_element(list.begin(), list.end());
- 特別地基於迭代器的容器都可以使用該方法。
5. 陣列求最值
1 int array[] = {1, 5, 4, 3, 2, 0};
2 int maxValue = *std::max_element(array,
3 array + sizeof (array)/sizeof(array[0]));
4
5 int minValue = *std::min_element(array,
6 array + sizeof(array)/sizeof(array[0]));