1.顺序查找
查找定义:在指定的集合里依次查找值为key的元素
思想:用蛮力法一次从后扫描,找出key
int main()
{
int Search1(int a[], int n, int key);
int Search2(int a[], int n, int key);
printf("顺序查找一个数:\n");
int a[10],i,m2,c;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
printf("%5d",a[i]);
printf("\n");
printf("输入你要查找的数\n");
scanf("%d",&c);
m2=Search2(a,9,c);
printf("\n");
if(m2>=0)
printf("查找成功:查找的数在第%d位置上",m2+1);
else
printf("查找失败!!");
}
int Search2(int a[], int n, int key) //顺序优化
{
int i=n;
a[0]=key; //设置观察哨,不必判断数组是否越界
while(a[i]!=key)
i--;
return i;
}