C++泛型线性查找算法——find
C++泛型线性查找算法——find 《泛型编程和STL》笔记及思考。 线性查找可能是最为简单的一类查找算法了。他所作用的数据结构为一维线性的空间。这篇文章主要介绍使用 C++ 实现泛型算法 find的过程。 C 版本 首先介绍 C find 算法的实现,用以引入 C++ 版本。 char *find1(char *first,char *last,int c) { while(first != last && *first != c) ++first; return first; } 该版本的算法循环检查每个元素,尾后指针(last)作为结束标识。 使用举例如下: char A[N]; ... char *result = find1(A,A + N,c); if(result == A + N) printf("search failed\n"); else printf("found it"); C 实现的 find 算法实现很简单,但使用范围很局限,只能应用于字符数组中对指定字符的查找。 C++ 版本 由于 C 版本 find 的使用范围局限性,在 C++ 中,我...