c++和python实现顺序查找实例

 更新时间:2022年03月11日 08:54:32   作者:机器学习入坑者  
这篇文章主要介绍了c++和python实现顺序查找实例,流程即将目标数值和数据库中的每个数值进行比较,如果相同则搜索完成,如果不同则继续比较下一处,下面来看看具体的实例操作吧,需要的朋友可以参考一下

如何在一堆数据中找到某个数值的位置?

数值型数据作为信息的基本载体,广泛用于各种信息的记录,这些数据不仅需要被存储,更需要被使用。因此,从数据库中正确的找到目标数据,是至关重要的操作。

我们先不考虑计算机是如何完成数值查找的,你会如何从下面这张表(黑色是数值,蓝色是位置索引)中找到724这个数值?

显然,上面有序表所有的数值都按照次序进行排列,人眼可以根据数值大小关系确定区间从而很快的找到724在133位置上。但是,当我们面临的是几百万条无序数据时,使用直觉进行搜索就不管用了。为此,我们需要设计出算法来完成精确的搜索过程。

实际上,不管有多少条数据,我们总可以通过逐一对比,进而找到目标数据。下面的gif显示了一个简单的搜索过程,目标数值是98:

上述过程就是顺序查找算法,即将目标数值和数据库中的每个数值进行比较,如果相同则搜索完成,如果不同则继续比较下一处。下面将会采用python和C++分别实现顺序查找算法,代码都比较简单。

(1)python实现顺序查找

def search(data_list, target_value):
    """
    Args:
        data_list: list of data
        target_value: desired to be searched 
    """
    # 定义索引游标
    current_index = 0
    while current_index<len(data_list):
        # 判断当前位置的数值和目标数值是否相等
        if data_list[current_index]==target_value:
            # 相等则返回目标数值位置
            return "target position is {}".format(current_index)
        # 不相等时移动到下一处,继续进行比较    
        current_index += 1
    # 全部数据都搜索完,返回搜索不到    
    return "target value {} not is data list".format(target_value)

(2)C++实现顺序查找

int search(int *pointer,int dataLength, int targetValue) {
    /// 遍历指针指向的数组,并防止越界
    for (int index = 0; index < dataLength; index++) {
            /// 找到则返回位置
        if (pointer[index] == targetValue) {
            return index;
        }
    }
    /// 遍历完成后找不到,则返回-1
    return -1;
}

到此这篇关于c++和python实现顺序查找实例的文章就介绍到这了,更多相关c++和python实现顺序查找内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C语言数据存储归类介绍

    C语言数据存储归类介绍

    使用编程语言进行编程时,需要用到各种变量来存储各种信息。变量保留的是它所存储的值的内存位置。这意味着,当您创建一个变量时,就会在内存中保留一些空间。您可能需要存储各种数据类型的信息,操作系统会根据变量的数据类型,来分配内存和决定在保留内存中存储什么
    2022-08-08
  • 浅析C和C++函数的相互引用

    浅析C和C++函数的相互引用

    C++是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有明显的不同
    2013-10-10
  • codeblocks安装及使用超详细图文教程

    codeblocks安装及使用超详细图文教程

    这篇文章主要介绍了codeblocks安装及使用教程详解,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-01-01
  • C语言实现简单的学生学籍管理系统

    C语言实现简单的学生学籍管理系统

    这篇文章主要为大家详细介绍了C语言实现简单的学生学籍管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • C++数据结构与算法之判断一个链表是否为回文结构的方法

    C++数据结构与算法之判断一个链表是否为回文结构的方法

    这篇文章主要介绍了C++数据结构与算法之判断一个链表是否为回文结构的方法,结合实例形式分析了回文结构并结合实例给出了C++判断回文的操作技巧,需要的朋友可以参考下
    2017-05-05
  • OpenCV实现单目尺寸估计的案例详解

    OpenCV实现单目尺寸估计的案例详解

    这篇文章主要介绍了通过OpenCV如何实现单目尺寸估计,文中的示例代码讲解详细,对我们学习和工作有一定的参考价值,感兴趣的可以了解一下
    2022-01-01
  • C语言实现万年历

    C语言实现万年历

    这篇文章主要为大家详细介绍了C语言实现万年历,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • QT中QColorDialog开发实例

    QT中QColorDialog开发实例

    QColorDialog是Qt框架中用于选择颜色的对话框类,本文主要介绍了QT中QColorDialog开发实例,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • C++中cin>>n的返回值

    C++中cin>>n的返回值

    这篇文章主要介绍了C++中cin>>n的返回值,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • C++ 中的单例模式(普通,2B,文艺)

    C++ 中的单例模式(普通,2B,文艺)

    这篇文章主要介绍C++ 中的单例模式写法,主要包括普通,2B,文艺三种写法,需要的朋友可以参考下
    2013-03-03

最新评论