본문 바로가기
혼자 공부하는 것들/자료구조(c언어)

C) 순차탐색(sequential search) 구현하기

by applepick 2020. 7. 18.
반응형

main에서 찾고싶은 소수를 입력받아 seqsearch함수를 통해 몇 번째에 들어가 있는지 찾을 수 있도록 하는 것이다. prime[]은 자신이 원하는 배열을 넣으면 된다. left는 배열에 첫번째 즉, 0번쨰가되고, right는 배열의 마지막 즉 n번쨰가 된다. 점차 왼쪽 오른쪽 줄여가면서 값을 찾는 것인데 중요한점은 배열이 정렬되어있어야하는 조건이 필요하다. 정렬하는 방법은 따로 다루지는 않겠다. 버블정렬이나 선택정렬 등등... 다른 알고리즘을 사용하면된다. 나중에 다뤄볼 것이다.

 

#include <stdio.h>
#include <stdlib.h>

int seqsearch(int list[],int searchnum,int left, int right)
{
    for(int i= left;i<=right;i++)
    {
        if(list[i] == searchnum)
        {
            return i;
        }
    }
    return -1;
}
int prime[] = {  ...  };

int main()
{
  int search_num;
  int idx;

  scanf("%d", &search_num);
  idx = seqsearch(prime,search_num,0,9999);
  printf("%d\n", idx);
}
반응형

댓글