Develop
2015.06.26 16:35
[c] 이진 탐색 두 가지 코드 (재귀/반복)
조회 수 980 댓글 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; }
-
[c] 이진 탐색 두 가지 코드 (재귀/반복)
-
[c] 이진트리(binary tree) 샘플소스 (삽입, 삭제, 운행)
-
[c] 이진트리(binary tree)의 운행..
-
[c] 이진트리(binary tree)의 특성
-
[c] 이진트리/트리 순회법 코드(전위/중위/후위)
-
[c] 자료구조 그래프(graph) 소스코드 - 확인해볼 것..
-
[c] 재미있는 코딩..
-
[c] 전위 표기법으로 연산 예제..
-
[c] 정사각배열의 서브 배열의 최대 값 구하기
-
[c] 정수를 2진수로 변환 (재귀,비트연산)
-
[c] 지나가는 패킷 잡기
-
[c] 지폰(gphone) 소스.. 수정(암호화)