您的位置:首页 > 编程语言 > C语言/C++

顺序查找算法实现(C++)

2015-07-14 21:12 357 查看
顺序查找适用情况:  

1、 对静态查找表中的记录无任何要求

2、 数据量较小

时间复杂度:O(n)

代码(C++)如下(可直接运行):

#include <stdio.h>
#include <iostream>
using namespace std;
void Sequential_Search(int *a, int n, int key)
{
int i = n;
a[0] = key;  //哨兵
while (a[i] != key)
{
i--;
}
if (0 == i)
cout << "Search failed!" << endl;
else
{
cout << "Search success!" << endl;
cout << "pos = " << i << endl;
}
}
int _tmain(int argc, _TCHAR* argv[])
{
int a[5] = {12, -2, 30, 4, 8};
Sequential_Search(a, 5, -20);

system("pause");
return 0;
}
备注:

在查找方向的尽头放置“哨兵”是一种很好的编程技巧,“哨兵”既可以放置在数组的开头

 也可以放置在数组的结尾。在数据量较大时,这一技巧对效率提升会很大。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  DS