Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C 언어에서 선형 검색을 사용하여 배열에서 최소 요소를 찾는 방법은 무엇입니까?

<시간/>

C 프로그래밍 언어는 두 가지 유형의 검색 기술을 제공합니다. 다음과 같습니다 -

  • 선형 검색
  • 이진 검색

선형 검색

  • 주요 요소 검색은 선형 방식으로 수행됩니다.
  • 가장 간단한 검색 기술입니다.
  • 목록이 정렬될 것으로 예상하지 않습니다.
  • 한계 - 더 많은 시간을 소비하고 시스템의 전력을 감소시킨다.
Input (i/p): Unsorted list of elements, key.
Output (o/p):
  • 성공 – 키가 있는 경우
  • 실패 – 그렇지 않으면.

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("\n");
   for (i = 0; i < n; i++){
      scanf("%d", &numbers[i]);
   }
   min = min_ele(numbers,n);
   printf("\In an array the minimum number is: %d\n", 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