查詢 順序查詢

2021-08-27 20:52:30 字數 1498 閱讀 5829

順序查詢的思路:

從資料的第乙個元素開始,依次將掃瞄到的關鍵字和給定值key比較。若當前掃瞄到的關鍵字和key相等,則查詢成功;若掃瞄結束還沒有找到和key相等的元素,就表示查詢給定的值不在表中。

時間複雜度:

o(n).

優點:

1.演算法簡單

2.對錶結構沒有任何要求,用順序表或者用鍊錶都可以。

3.表中元素之間是否有序,仍然可適用。

例子:查詢陣列中的關鍵字為5的元素位置

查詢過程演示圖:

演算法例子:

(1)順序表順序查詢-結構體陣列:

#include#define maxl 100

typedef struct

table;

typedef table seqlist[maxl];

int seqsearch(seqlist r,int n,int key2)

}void main()

; for(i=0;i(2)順序表順序查詢-陣列1:

#includeint seqsearch(int *a,int lengh,int key)

return -1;

}void main()

; int result, num =5;

result = seqsearch(arr,sizeof(arr),num);

if(result == -1)

printf("該元素不在表中");

else

printf("%d元素的位置:%d\n",num,result);

}

(3)順序表順序查詢-陣列2:

#includeint seqsearch(int a,int value)

listnodetable;

//建立鍊錶

void initlist(listnodetable *&l)

//鍊錶插入元素

bool listinsert(listnodetable *&l,int n,int keyvalue)

if(p==null)

else }

//順序查詢

int seqsearch(listnodetable *l,int key)

if(p==null)

else

return i;

}void main()

; int j;

for(int i=1;i<=n;i++)

if((j=seqsearch(l,5))!=-1)

}

查詢 順序查詢

查詢 根據給定的某個值,在查詢表中確定乙個其關鍵字等於給定值的記錄或資料元素。若表中存在這樣的乙個記錄,則稱查詢是成功的,此時查詢的結果為給出整個記錄的資訊,或指示該記錄在查詢表中的位置。若表中不存在關鍵字等於給定值的記錄,則稱查詢不成功,此時查詢的結果可給出乙個空記錄或者空指標。本篇文章討論在靜態...

查詢 順序查詢

查詢表 由同一種型別的資料元素構成的集合 jing態查詢表 只做查詢操作的查詢表 dong態查詢表 在查詢的過程中,還可以進行插入和刪除等的操作。關鍵字 資料元素中的某個資料項的值 主關鍵字 可以唯一表示乙個記錄的關鍵字 次關鍵字 可以表示多個紀錄的關鍵字 include using namespa...

查詢 順序查詢

順序查詢 定義 順序查詢就是在檔案的關鍵字集合key 1,2,n 中找出與給定的關鍵字key相等的檔案記錄。步驟 1.從檔案的第乙個記錄開始,將每個記錄的關鍵字與給定的關鍵字key進行比較 2.如果查詢到某個記錄的關鍵字等於key,則查詢成功,返回該記錄的位址 如果所有關鍵字都與key進行了比較,但...