Develop
2015.06.26 16:35
[c] 이진 탐색 두 가지 코드 (재귀/반복)
조회 수 957 댓글 0
첨부 '1' |
---|
이진 탐색에 대한 두 가지 코드.
# 실행 조건
- 유일한 값들이어야 함 (중복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; }
번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|---|
981 | Develop | [c] 단기과정[01/06] sizeof, 실수표현, 메모리, 연산자 | hooni | 2003.04.23 | 6954 |
980 | Develop | [c] 단기과정[01/07] 제어문, 피보나치수열 | hooni | 2003.04.23 | 7432 |
979 | Develop | [c] 단기과정[01/08] 배열, 포인터 | hooni | 2003.04.23 | 7260 |
978 | Develop | [c] 단기과정[01/08] (다차원 + 배열)포인터, void 포인터 | hooni | 2003.04.23 | 7795 |
977 | Develop | [c] 단기과정[01/08] 과제.. 파스칼 삼각형 | hooni | 2003.04.23 | 7288 |
976 | Develop | [c] 단기과정[01/10] 과제.. swap(any data, ..) | hooni | 2003.04.23 | 6933 |
975 | Develop | [c] 단기과정[01/14] 파일 입출력 | hooni | 2003.04.23 | 6860 |
974 | Develop | [c] 단기과정[01/14] 피보나치, 파스칼.. 파일입출력 | hooni | 2003.04.23 | 7112 |
973 | Develop | [c] 단기과정[01/15] 피보나치, 파스칼.. 링크리스트 | hooni | 2003.04.23 | 7257 |
972 | Develop | [c] 단기과정[01/17] 후위연산 스택 계산기.. | hooni | 2003.04.23 | 7252 |
971 | Develop | [c] 단기과정[01/24] 정렬 알고리즘 | hooni | 2003.04.23 | 6975 |
970 | Develop | [js] 새로고침(refresh)방법과 다른 페이지 바꾸기.. | hooni | 2003.04.23 | 6563 |