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;
}