如何在C语言中使用线性搜索查找数组中的最小元素?


C编程语言 提供两种类型的 搜索技术。它们如下所示:

线性搜索

  • 以线性方式搜索关键元素。
  • 这是最简单的搜索技术。
  • 它不需要列表已排序。
  • 局限性 - 它消耗更多时间并降低系统性能。

输入

未排序的元素列表,关键字。

输出

  • 成功 - 如果找到关键字。
  • 失败 - 否则。

示例1

以下是使用线性搜索查找数组中最小元素的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 elements 5
enter the elements:
12
34
56
78
89
enter a key element:56
search is successful:

示例2

下面是另一个使用线性搜索查找数组中最小元素的程序:

 在线演示

#include <stdio.h>
int min_ele(int numbers[], int n){
   int min = numbers[0];
   int i;
   for (i = 1; i <= n; i++){
      if (min > numbers[i])
      min = numbers[i];
   }
   return min;
}
int main(){
   int n;
   printf("Enter no: of elements in an array: ");
   scanf("%d",&n);
   int numbers[n];
   int i;
   int min ;
   printf("Enter %d numbers : ", n);
   printf("
");    for (i = 0; i < n; i++){       scanf("%d", &numbers[i]);    }    min = min_ele(numbers,n);    printf("\In an array the minimum number is: %d
", min);    return 0; }

输出

执行上述程序后,将产生以下结果:

Enter no: of elements in an array: 5
Enter 5 numbers:
23
56
78
9
20
In an array the minimum number is: 9

更新于:2024年6月20日

1K+ 浏览量

启动您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.