找回密码
 立即注册
Qt开源社区 门户 查看内容

Qt技巧-快速求最值

2019-9-20 08:45| 发布者: admin| 查看: 632| 评论: 0

摘要: 利用求最值接口提高编程效率。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. 求列表容器的最值 ...

利用求最值接口提高编程效率。

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++标准库接口
#include<algorithm>
template<classForwardIt,classCompare>
ForwardIt std::min_element(ForwardIt first,
ForwardIt last,
Compare comp)

ForwardIt std::max_element(ForwardIt first,
ForwardIt last,
Compare comp)

  • 示例
QStringList list{"1","3","2"};
QString maxValue =*std::max_element(list.begin(), list.end());
QString minValue =*std::min_element(list.begin(), list.end());

  • 特别地基于迭代器的容器都可以使用该方法。

5. 数组求最值

int array[]={1,5,4,3,2,0};
int maxValue =*std::max_element(array,
array +sizeof(array)/sizeof(array[0]));

int minValue =*std::min_element(array,
array +sizeof(array)/sizeof(array[0]));

6. 关于更多


  • Qt君公众号后台回复"Qt技巧"获取更多相关内容。

----------------------------------------------------------------------------------------------------------------------
我们尊重原创,也注重分享,文章来源于微信公众号:Qt君,建议关注公众号查看原文。如若侵权请联系qter@qter.org。
----------------------------------------------------------------------------------------------------------------------

鲜花

握手

雷人

路过

鸡蛋

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了