C語言資料結構之查詢(順序查詢,折半查詢)

2021-10-24 01:38:51 字數 1111 閱讀 8471

為了演示方便,順序查詢和折半查詢的資料儲存結構就直接採用陣列。

1、順序查詢

順序查詢跟我們用迴圈遍歷進行暴力破解類似。。

直接看**:

#define n 11

//順序查詢(適用於線性表)

intseq_search

(int

*arr,

int key)

對,順序查詢就是這麼簡單。。。

2、折半查詢(二分查詢)

折半查詢僅適用於有序的順序表

思路:具體實現:

//折半查詢(二分查詢),適用於有序的順序表

intbinary_search

(int

*arr,

int key)

return-1

;//查詢失敗

}

注意這裡迴圈的終止條件是low<=high;接下來,我們可以在main()函式中測試一下:

int

main()

;if(seq_search

(arr1,4)

!=0)printf

("4元素下標為:%d\n"

,seq_search

(arr1,4)

);else

printf

("該元素不存在!\n");

int arr2[n]=;

if(binary_search

(arr2,4)

!=-1)

printf

("4元素下標為:%d\n"

,binary_search

(arr2,4)

);else

printf

("該元素不存在!\n");

return0;

}

測試結果:

積一時之跬步,臻千里之遙程。

C語言 資料結構查詢 順序查詢及折半查詢

資料結構查詢 順序查詢和折半查詢 順序查詢 思路 從表中最後乙個記錄開始,逐個進行記錄的關鍵字和 給定值的比較,若某個記錄的關鍵字和給定值比較相等,則 返回返回記錄所在的位置,或查詢完所有記錄後還沒有發現 符合的記錄,則查詢失敗。include include include include def...

資料結構之查詢 二 順序查詢

順序表的表示 資料元素型別定義 typedef struct elemtype 順序表定義 typedef struct sstable sstable st 定義順序表st int search seq sstable st,keytype key int search seq sstable s...

演算法與資料結構之順序查詢(C語言)

1 include2 include3 順序查詢基本思想 從線性表的一端開始,逐個檢查關鍵字是否滿足給定的條件 4int sequentialsearch int a,int n,int x 5 6int main void 7 9intnum,結果 10 printf 請輸入要查詢的數 11 sc...