C 语言中有哪些不同的搜索技术?
搜索技术是指在元素列表中查找关键元素。
如果给定的元素存在于列表中,则搜索过程被认为是成功的。
如果给定的元素不存在于列表中,则搜索过程被认为是不成功的。
C 语言提供了两种类型的搜索技术。如下所示 −
- 线性搜索
- 二分搜索
线性搜索
- 以线性方式搜索关键元素。
- 这是最简单的搜索技术。
- 它不期望列表已排序。
- 局限性 − 它消耗更多的时间并降低系统的性能。
输入 (i/p)
无序元素列表、键。
输出 (o/p)
- 成功 − 如果找到了键。
- 不成功 − 否则。
示例
以下是线性搜索技术的 C 语言程序 −
#include<stdio.h> int main (){ int a[50], n, i, key, flag = 0; printf("enter the no: of elements"); scanf ("%d",&n); printf("enter the elements:
"); for (i=0; i<n; i++) scanf( "%d", &a[i]); printf("enter a key element:
"); scanf ("%d", &key); for (i=0; i<n; i++){ if (a[i] == key){ flag = 1; break; } } if (flag == 1) printf("search is successful:"); else printf("search is unsuccessfull:"); return 0; }
输出
当执行上述程序时,它产生以下结果 −
enter the no: of elements5 enter the elements:12 45 13 67 78 enter a key element:67 search is successful:
广告