4、順序查找
簡介:
沒有排序的數據,只能順序查找。
順序查找速度較慢,1000萬個數據可能要找500萬次。
int SequentialSearch(int* List, const int N, const int X)
{
int i;
for (i = 0; i < N; i++)
{
// 如果這個數就是我們要找的,那就直接返回這個數的下標i
if (List[i] == X) return i;
}
// 如果循環完了都沒找到這個數, 那i就會等於N。 返回-1表示失敗
if (i == N) return -1;
}
int main()
{
int Num[] = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 }; // 數組
int Num_Size = sizeof(Num) / sizeof(int); // 數組大小
int num;
cout << "請輸入一個想查找的數字:";
cin >> num;
// 這個函數是返回找到的數的下標, 而不是要找的數字本身。
int Result = SequentialSearch(Num, Num_Size, num); // 結果
if (Result == -1)
{
cout << "沒找到這個數!" << endl;
}
else
{
cout << "數字 >" << num << "被找到!下標是 >" << Result << endl;
}
return 0;
}