zoukankan      html  css  js  c++  java
  • 获取一个数组(vector)与查找值(value)的差最小绝对值的成员索引的算法

    代码如下:

    函数作用:传递进来一个数组(vector),和一个需要查找的值(value),返回与value的差值绝对值最小的vector成员索引,若value不在vector范围中,则返回-1;
    int MyMethod::getSimilarIndex(const QVector<double>& vector, const double& value)
    {
        int a = -1;
        double tempX = abs(vector[0] - value);
        bool greaterThan = false, lessThan = false;//用来判断value的值是否在vector范围之中
        for (int i = 0; i < vector.size();i++)
        {
            if (vector[i] >= value)
                greaterThan = true;
            if (vector[i] <= value)
                lessThan = true;
            if (abs(vector[i] - value) <= tempX)
            {
                a = i;
                tempX = abs(vector[i] - value);
            }
        }
        if (!greaterThan || !lessThan)
            a = -1;
        return a;
    }

    反思:一个简单的算法如果需要考虑周密,并且精炼,那它也不会简单,继续加油

    坚持成就伟大
  • 相关阅读:
    ios开发之--把秒转换为天时分秒
    网络爬虫的类型
    网络爬虫的组成
    为什么要学网络爬虫
    什么是网络爬虫
    Windows 下安装 Python3
    Linux 下安装 Python3
    HTTP 代理
    HTTP Cookies
    爬虫的基本原理
  • 原文地址:https://www.cnblogs.com/xian-yongchao/p/9599699.html
Copyright © 2011-2022 走看看