일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 배열
- abex crack me 5번문제
- 마인크래프트
- 메이플스토리 M 사전예약
- 배열 탐색
- 프로그래밍 언어론
- 리버싱
- 1.9.2
- 암호화폐
- abex crack me 2번 문제풀이
- 리틀엔디언
- 네트워크 관리사 2급 필기
- 구조체
- 구조체 함수
- 프론트엔드 개발자
- 알고리즘
- 덧셈
- 레나 리버싱
- 빅엔디언
- 배열 정렬
- 오버워치
- C언어
- abex crack me 1번
- Reverse Me
- sa 계정 비밀번호 변경
- 안드로이드 백도어
- 재밌는 모바일게임
- react native
- c언어 알고리즘
- UDP daytime
Archives
- Today
- Total
Gyejoong's Information
[C언어로 해보는 알고리즘]2. 이분 탐색(binary search) 본문
반응형
[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;
}
반응형
'etc' 카테고리의 다른 글
[C언어로 해보는 알고리즘]3. 버블정렬(bubble sort) (0) | 2016.06.12 |
---|---|
[C언어로 해보는 알고리즘]1. 순차탐색(sequence search) (0) | 2016.06.12 |
C언어 Express Chapter.7 - 반복문 Programming (0) | 2016.05.14 |
Comments