본문 바로가기

카테고리 없음

[C언어] 순차검색 알고리즘

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[] = {26, 27, 39, 63, 57, 75, 71, 76, 80, 18, 47, 15};
	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);
	}
}

프로그램 실행화면


가장 쉽고 가장 대표적인 검색 알고리즘이 순차검색 알고리즘이다. 단순히 처음부터 끝까지 차례대로 검색하는 것이다.


하나의 반복문으로 구현이 가능하며 자료를 별도로 관리할 필요도 없다. 쉬운 대신에 알고리즘 성능은 좋지 않다. 제일 느린편에 속한다고 할 수 있겠다.