순차검색 알고리즘

박건도·2023년 3월 21일
0

알고리즘

목록 보기
1/3
post-thumbnail

순차검색

문제: 원소가 n개인 배열S에 원소 x가 있는가?
입력(파라미터): 정수 n(>0), 배열 S(인덱스 범위는 1부터 n까지), 원소x
출력: 원소 x가 위치한 인덱스를 location에 저장. (S안에 x가 없으면 0을 저장)

void seqsearch (int n, const keytypeS[],
				keytype X,
                index& location)
      {
       location = 1;
       while (location <= n && S[location] != X)
       		location++;
       if(location > n)
       		location = 0;
       }

키로 사용할 수 있는 데이터 타입을 keytype이라 하고 검색과 정렬 알고리즘을 만들어보았다.
위 알고리즘은 리스트S를 배열로 표현하고 "예" 또는 "아니오" 대답대신 x가 S에 있는 경우 배열내 x의 인덱스를 내주고 그렇지 않은 경우에는 0을 내준다.


의사코드는 c++와 비슷해 보이지만 배열의 사용법에 차이가 있다. c++는 배열의 인덱스를 0이상의 정수만 허용하지만 경우에 따라서 정수범위를 배열의 인덱스로 사용하거나 정수가 아닌 인덱스를 사용하여 알고리즘을 더 명확하게 설명할 수 있다.
profile
풀스택 개발자

0개의 댓글