관리 메뉴

Gyejoong's Information

[C언어로 해보는 알고리즘]2. 이분 탐색(binary search) 본문

etc

[C언어로 해보는 알고리즘]2. 이분 탐색(binary search)

연계중 2016. 6. 12. 03:25
반응형

[C언어로 해보는 알고리즘]2.이분 탐색(binary search)


#include <stdio.h>

#define SIZE 10

#pragma warning(disable:4996)


int main(void){

int a[SIZE] = { 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 };

int M = 0;

int T = 0;

int low = 0;

int high = sizeof(a) / sizeof(a[0]);

high = high - 1;


printf("찾고자 하는 정수 입력 : ");

scanf("%d", &T);


//binary search

for (int n = 0; n < SIZE; n++){

M = (low + (high - 1)) / 2;

if (a[M] == T) break;

else if (T > a[M]) low = M + 1;

else if (T < a[M]) high = M - 1;

else if( T != a[M]) printf("찾고자 하는 정수가 없습니다. \n");

printf("test => %d \n", M);

}


//찾은 값 출력

printf("탐색 결과 : %d이라는 값은 a[%d]중 a[%d]번째에 있습니다. \n", a[M], SIZE-1, M);


return 0;

}


반응형
Comments