順序查詢的思路:
從資料的第乙個元素開始,依次將掃瞄到的關鍵字和給定值key比較。若當前掃瞄到的關鍵字和key相等,則查詢成功;若掃瞄結束還沒有找到和key相等的元素,就表示查詢給定的值不在表中。
時間複雜度:
o(n).
優點:
1.演算法簡單
2.對錶結構沒有任何要求,用順序表或者用鍊錶都可以。
3.表中元素之間是否有序,仍然可適用。
例子:查詢陣列中的關鍵字為5的元素位置
查詢過程演示圖:
演算法例子:
(1)順序表順序查詢-結構體陣列:
(3)順序表順序查詢-陣列2:#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);
}
#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進行了比較,但...