线性搜索
缺点:效率低,用于在数组中进行搜索指定的值
关键:设置返回值为单一出口
#include <stdio.h>
int search(int key, int a[], int len)
{
int ret = -1; //默认没有找到,返回-1
int i = 0;
for (i=0;i<len;i++)
{
if (key == a[i])
{
ret = i;
break;
}
}
return ret;//单一出口
}
int main()
{
int a[] = {
1,3,2,5,12,14,23,6,9,45};
int r = search(12,a,sizeof(a)/sizeof(a[0]));
printf("%d",r);
return 0;
}
搜索例子
若将两个数组连接起来进行搜索使用struct
好处:减小cache
#include <stdio.h>
struct {
int amount;
char *name;
}coins[] = {
{