基本演算法 3 順序查詢和二分查詢(折半查詢)

2021-10-03 18:20:15 字數 1287 閱讀 4897

順序查詢

暴力破解法,按照順序遍歷整個陣列,查詢目標資料。

#include

using

namespace std;

intsequentialsearch

(int

*a,int n,

const

int x)

;//輸入的陣列,陣列個數,要尋找的數

intmain()

;int result;

result =

sequentialsearch

(m,10,7

);if(result ==-1

) cout <<

"cannot find the number."

<< endl;

else cout <<

"it is found in m["

<< result <<

"]."

<< endl;

return0;

}int

sequentialsearch

(int

*a,int n,

const

int x)

if(i == n)

return-1

;}

二分查詢
#include

using

namespace std;

intbinarysearch

(int

* a,

const

int x,

const

int n)

;//陣列,要查詢的數,陣列元素個數

intmain()

;int result;

int num =7;

result =

binarysearch

(x, num,8)

;if(result <0)

cout <<

"cannot find the num."

<< endl;

else

cout <<

"it is found in x["

<< result <<

"]."

<< endl;

return0;

}int

binarysearch

(int

* a,

const

int x,

const

int n)

}

查詢演算法之順序查詢和二分查詢

1.順序查詢 基本思想 從資料結構線性表一端開始,順序掃瞄,依次將掃瞄到的關鍵字值與給定key相比較,若相等則表示查詢成功 若掃瞄結束仍沒有找到關鍵字等於key值的結點,表示查詢失敗。順序查詢適合於儲存結構為順序儲存或鏈結儲存的線性表。如下 include include using namespa...

查詢演算法 二分(折半)查詢

基本思想 待查記錄的順序為從小到大 首先將待查元素的關鍵字 key 值與待查記錄中間位置上上 下標為mid 記錄的關鍵字進行比較,若相等,則查詢成功 若 key r mid key,則說明待查記錄只可能在後半部分 mid 1,n 1 中,下一步應在後半部分中查詢 若key timid key,說明待...

檢索演算法 順序查詢和二分查詢

分析原始碼 使用兩種檢索演算法求解有序陣列中某元素的所在位置。有序陣列最基本檢索演算法是順序查詢,又稱線性查詢,其思想是從資料結構線性表的一段開始順序掃瞄,依次將掃瞄到的元素和給定值x相比較,若找到相等值則表示查詢成功,若掃瞄結束仍未找到與給定值相等的元素,則表示線性表中不存在給定值。有序陣列的另一...