順序査找是一種簡單的査找算法,其實現方法是從序列的起始元素開始,逐個將序列中的元素與所要查找的元素進行比較,如果序列中有元素與所要查找的元素相等,那麼査找成功,如果査找到序列的最後一個元素都不存在一個元素與所要査找的元素值相等,那麼表明査找失敗。接下來通過一段代碼來了解順序査找的具體使用。
#include <stdio.h>
#include <stdlib.h>
#include <memory.h>
int ordersearch(int a[], int n, int des){
int i;
for(i=0; i<n; i++)
if(des==a[i])
return 1;
return 0;
}
int main(){
int i, val;
int a[8] = {32,12,56,78,76,45,43,98};
int ret;
for(i=0; i<8; i++)
printf("%d\t", a[i]);
printf("\n請輸入所要查找的元素:");
while(1){
scanf("%d", &val);
fflush(stdin);
ret = ordersearch(a, 8, val);
if(1 == ret)
printf ("查找成功!");
else
printf ("查找失敗!");
printf("\n請輸入所要查找的元素:");
}
return 0;
}
運行結果:
32 12 56 78 76 45 43 98
請輸出所要查找的元素:78
查找成功!
請輸出所要查找的元素:5
查找失敗!
分析上面的運行結果,首先輸入所要查找的元素為78,該數在所要查找的序列中是存在的,所以打印輸出“查找成功! ”。接下來輸入的數值5在所要查找的序列中並不存在,因此打印輸出“查找失敗!”。