順序查找屬于查找中較容易的一個方法,且對數據是否已經排序沒有要求,是很常用的一個查找算法。
但缺點是必須一個一個數字進行比較查找,查找所需步驟可能較多。
順序查找算法的思想是,將目標與待查找數據進行比較,若發現與目標數據相同的數據,則查找停止,
返回此時被找到的數據的位置。
// 算法設計 順序查找
# include <stdio.h>
int FindBySeq(int *ListSeq, int ListLength, int KeyData) // ListLength 表示數組長度
{
?int tmp = 0;
?int length = ListLength;
?for (int i = 0; i < ListLength; i++)
?{
??if (ListSeq[i] == KeyData)
??return i;
?}
?return 0;
?}
?
?int main(void)
?{
??int TestData[5] = {34, 35, 26, 89, 56};
??int retData = FindBySeq(TestData, 5, 89);
??printf("retData = %d", retData);
??
??return 0;
?}
?
/* 該程序運行結構為3,表示 89 和數組中…數組名[3]這個數是相等的,
如果想查找是數組中的第幾個數,就需要將 i 加1,因為數組名后面的
下標是從 0 開始的?? */