【查詢】順序表(線性表)查詢
阿新 • • 發佈:2019-01-07
最基本的查詢技術。
演算法思想
從表中第一個(最後一個)記錄開始,逐個進行記錄的關鍵字和給定值比較:
- 若某個記錄的關鍵字和給定值相等,則查詢成功,找到所查記錄;
- 若直到最後一個(或第一個)記錄,其關鍵字和給定值比較都不等時,則表中沒有所查的記錄,查詢不成功。
演算法實現
function Sequential_Search(a,key){
var i;
for(i=0;i< a.length;i++){
if(a[i]==key){
return i;
}
}
return n;
}
優化
因為每次迴圈都要對
改進:
設定一個哨兵,可以解決不需要每次讓
function Sequential_Search2(a,key){
a[a.length] = key; /* 設定a[n]為關鍵字值,即“哨兵” */
var i = 0; /* 從頭迴圈陣列 */
while (a[i] != key) {
i++;
}
return i; /* 返回 n 則說明查詢失敗 */
}