查找是指在大量的信息中寻找一个特定的信息。在计算机中,查找是非常重要的一个应用,比如“百度”。查找算法的好坏直接影响查找的速度。
- 顺序查找是指从数组的一端开始逐个进行比较,直到找到该数据为止。
例如:查找数组 a 中第一次出现数字 m 的下标并输出该下标,如果没有则输出“sorry”,实现代码如下:
- # include <stdio.h>
- int main(void)
- {
- int a[] = {1,5,66,8,55,9,1,32,5,65,4,8,5,15,64,156,1564,15,1,8,9,7,215,
- 16,45,5,6,164,15,236,2,5,55,6,4,1,59,23,4,5,314,56,15,3,54,
- 1,54,54,2,4,4,5,15,698,486,56,26,98,78,456,1894,564,26,56,5};
- int n; //存放数组a中元素的个数
- int m; //查找的数字
- int i; //循环变量
- n = sizeof(a) / sizeof(int); //求出数组中所有元素的个数
- printf("请输入一个数字:");
- scanf("%d", &m);
- for (i=0; i<n; ++i)
- {
- if (a[i == m)
- {
- printf("下标 = %d\n", i);
- break;
- }
- }
- if (i == n)
- {
- printf("sorry\n");
- }
- return 0;
- }
输出结果是:
请输入一个数字:7
下标 = 21
请输入一个数字:58
sorry
顺序查找的平均查找长度为 n+1/2.
|