最自然的查找 一个一个比较 废话不多说 上代码
---C语言实现
---优化:哨兵思想 节省循环比较
#include<stdio.h> #include<stdlib.h> #define RETURN_FAIL -1 //顺序查找 int SequentialSearch(int *Src_int,int Src_len,int SearchNum) { int count; if(Src_int == NULL || Src_len <= 0)return RETURN_FAIL; for(count = 1;count <= Src_len ;count++) { if(Src_int[count] == SearchNum) { return count; } } return RETURN_FAIL; } //顺序查找 简单优化 int SequentialSearch_Optimize_1(int *Src_int,int Src_len,int SearchNum) { int count; if(Src_int == NULL || Src_len <= 0)return RETURN_FAIL; Src_int[0] = SearchNum;//哨兵/守卫/警戒 count = Src_len; while(Src_int[count--] != SearchNum); if(++count)return count; return RETURN_FAIL; } int main() { int result; int test[] = {0,1,8,16,23,35,47,59}; result = SequentialSearch_Optimize_1(test,sizeof(test)/sizeof(test[0]),23); printf("%d\n",result); system("pause"); return 0; }
