欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

c++和python實現順序查找實例

 更新時間:2022年03月11日 08:54:32   作者:機器學習入坑者  
這篇文章主要介紹了c++和python實現順序查找實例,流程即將目標數值和數據庫中的每個數值進行比較,如果相同則搜索完成,如果不同則繼續(xù)比較下一處,下面來看看具體的實例操作吧,需要的朋友可以參考一下

如何在一堆數據中找到某個數值的位置?

數值型數據作為信息的基本載體,廣泛用于各種信息的記錄,這些數據不僅需要被存儲,更需要被使用。因此,從數據庫中正確的找到目標數據,是至關重要的操作。

我們先不考慮計算機是如何完成數值查找的,你會如何從下面這張表(黑色是數值,藍色是位置索引)中找到724這個數值?

顯然,上面有序表所有的數值都按照次序進行排列,人眼可以根據數值大小關系確定區(qū)間從而很快的找到724在133位置上。但是,當我們面臨的是幾百萬條無序數據時,使用直覺進行搜索就不管用了。為此,我們需要設計出算法來完成精確的搜索過程。

實際上,不管有多少條數據,我們總可以通過逐一對比,進而找到目標數據。下面的gif顯示了一個簡單的搜索過程,目標數值是98:

上述過程就是順序查找算法,即將目標數值和數據庫中的每個數值進行比較,如果相同則搜索完成,如果不同則繼續(xù)比較下一處。下面將會采用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)
? ? ? ? # 不相等時移動到下一處,繼續(xù)進行比較 ? ?
? ? ? ? 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實現順序查找內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 位運算實現十進制轉換為二進制

    位運算實現十進制轉換為二進制

    這篇文章主要介紹了位運算實現十進制轉換為二進制的相關資料,需要的朋友可以參考下
    2015-03-03
  • linux下c語言中隱藏進程命令行參數(例如輸入密碼等高危操作)

    linux下c語言中隱藏進程命令行參數(例如輸入密碼等高危操作)

    啟動程序很多時候用命令行參數可以很方便,做到簡化一些配置,但是輸入用戶名密碼等操作,如果通過進程查看工具直接看到密碼就太不安全了,這里就為大家分享一下方法
    2021-01-01
  • C++調用python(執(zhí)行py文件)的全過程

    C++調用python(執(zhí)行py文件)的全過程

    這篇文章主要給大家介紹了關于C++調用python(執(zhí)行py文件)的相關資料,文中通過圖文以及實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2021-12-12
  • c++ base64編解碼使用示例

    c++ base64編解碼使用示例

    這篇文章主要介紹了c++的base64編解碼使用示例,需要的朋友可以參考下
    2014-02-02
  • C++用easyx圖形庫實現障礙跑酷小游戲

    C++用easyx圖形庫實現障礙跑酷小游戲

    這篇文章主要為大家詳細介紹了C++用easyx圖形庫實現障礙跑酷小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • C語言實現一個簡易通訊錄

    C語言實現一個簡易通訊錄

    這篇文章主要為大家詳細介紹了C語言實現一個簡易通訊錄,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • C語言二叉樹的遍歷示例介紹

    C語言二叉樹的遍歷示例介紹

    大家好,本篇文章主要講的是C語言二叉樹的遍歷示例介紹,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2022-01-01
  • C語言中結構體的內存對齊規(guī)則講解

    C語言中結構體的內存對齊規(guī)則講解

    C 數組允許定義可存儲相同類型數據項的變量,結構是 C 編程中另一種用戶自定義的可用的數據類型,它允許你存儲不同類型的數據項,本篇讓我們來了解C 的結構體內存對齊
    2022-05-05
  • 一篇文章弄懂C++左值引用和右值引用

    一篇文章弄懂C++左值引用和右值引用

    左值(lvalue)和右值(rvalue)是 c/c++ 中一個比較晦澀基礎的概念,這篇文章主要給大家介紹了關于如何通過一篇文章弄懂C++左值引用和右值引用的相關資料,需要的朋友可以參考下
    2021-07-07
  • C++ 中快排的遞歸和非遞歸實現

    C++ 中快排的遞歸和非遞歸實現

    這篇文章主要介紹了C++ 中快排的遞歸和非遞歸實現的相關資料,需要的朋友可以參考下
    2017-06-06

最新評論