이진 탐색에 대한 두 가지 코드.
# 실행 조건
- 유일한 값들이어야 함 (중복x).
- 오름차순 정렬 후 실행해야 함.
# 구현 방식
- 재귀함수 (bsearch_recursive)
- while 반복문 (bsearch_loop)
#include <stdio.h> #include "bsearch.c" void bbsort(int *arr, int length); int bsearch_recursive(int *arr, int begin, int end, int target); int bsearch_loop(int *arr, int target, int length); int main( ) { int arr[] = {11, 9, 1, 5, 15, 3, 7, 13}; int target = 7; int result; int length; length = sizeof(arr)/sizeof(int); bbsort(arr, length); //By Recursive result = bsearch_recursive(arr, 0, length-1, target); //By Loop result = bsearch_loop(arr, length, target); if(result == -1) { printf("Not Found. "); } else { for( int i=0 ; i<length ; ++i ) { printf( "%d ", arr[i] ); } printf(" Found Index : %d. ", result); } return 0; }
No. | Category | Subject | Author | Date | Views |
---|---|---|---|---|---|
369 | Develop | [c] 이진트리(binary tree)의 운행.. | hooni | 2003.04.23 | 8315 |
368 | Develop | [c] 이진트리(binary tree) 샘플소스 (삽입, 삭제, 운행) | hooni | 2003.04.23 | 7847 |
» | Develop | [c] 이진 탐색 두 가지 코드 (재귀/반복) | hooni | 2015.06.26 | 982 |
366 | Develop | [c] 유닉스 프로그램에서 인수처리 해주는 getopt() 함수 | hooni | 2013.04.23 | 8095 |
365 | Develop | [c] 윈도우 API Viewport와 Window | hooni | 2013.04.23 | 5984 |
364 | Develop | [c] 윈도우 API sin 함수 출력.. | hooni | 2013.04.23 | 15690 |
363 | Develop | [c] 웹 메모장.. ㅋㅋ | hooni | 2013.04.23 | 6850 |
362 | Develop | [c] 웅지학원 NAT를 소스코드로.. | hooni | 2013.04.23 | 6629 |
361 | Develop | [c] 오목.. 간단한 소스 ㅋㅋ | hooni | 2013.04.23 | 9674 |
360 | Develop | [c] 오류체크(CRC 체크 ) 소스 2 | hooni | 2013.04.23 | 8157 |
359 | Develop | [c] 연산자 우선순위.. ㅋㅋ | hooni | 2013.04.23 | 7196 |
358 | Develop | [c] 약수/최대공약수/완전수 알고리즘 | hooni | 2003.04.23 | 8904 |