順序查詢
暴力破解法,按照順序遍歷整個陣列,查詢目標資料。
#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相比較,若找到相等值則表示查詢成功,若掃瞄結束仍未找到與給定值相等的元素,則表示線性表中不存在給定值。有序陣列的另一...