사용자 도구


순차 검색

테이블의 처음부터 순서대로 데이터를 읽고 원하는 키와 비교하는 검색 방식. 최악의 경우 모든 데이터와 비교해야하기 때문에 시간이 오래 걸리지만 알고리즘이 간단하여 유지보수가 쉽다는 장점도 있다. 데이터가 1만개 이하라면 써도 괜찮은 알고리즘.

예제

linear_search.cpp
#include <stdio.h>
#include <stdlib.h>
 
int LinearSearch(int *ar,unsigned num,int key)
{
	unsigned i;
 
	for (i=0;i<num;i++) {
		if (ar[i] == key) {
			return i;
		}
	}
	return -1;
}
 
void main()
{
	int ar[]={23,47,19,63,57,26,75,73,82,89,47,11};
	unsigned num;
	int key,idx;
 
	num=sizeof(ar)/sizeof(ar[0]);
	key=75;
	idx=LinearSearch(ar,num,key);
	if (idx == -1) {
		puts("찾는 값이 없습니다.");
	} else {
		printf("찾는 값은 %d번째에 있습니다.\n",idx);
	}
}

참고