[자료구조]선택정렬과 이진탐색 프로그래밍
- 최초 등록일
- 2005.10.03
- 최종 저작일
- 2005.10
- C언어
- 가격 3,500원
소개글
(1) 정렬하고자 하는 정수의 개수와 정렬하고자 하는 정수를 입력받아 선택정렬의 중간결과와 최종결과출력
(2) (1)의 결과에서 찾고자 하는 수를 입력받아 이진탐색 수행 각 단계별 좌수와 우수, 가운데값 출력, 최종위치 출력
컴파일 실행환경
C언어
본문내용
int binsearch(int list[], int searchnum, int left, int right)
// binsearch 의 함수부, list, searchnum(찾고자 하는 번호), left, right 로 정의된 4개의 인자와 함께 사용
{
int middle; // 본격적인 이진검색 시작
// 이진검색의 방법인 middle(가운데수) 구하기, middle=(left+right)/2
while(left<=right){
middle=(left+right)/2;
switch(COMPARE(list[middle],searchnum)){
//가운데수와 찾고자 하는수의 크기 비교
case -1: printf("Left : %d 번째의 수 %d Right : %d 번째의 수 %d Middle : %d 번째의 수 %d\n",left+1,list[left],right+1,list[right],middle+1,list[middle]);
return binsearch(list,searchnum,middle+1,right);
break;
// 만약 찾고자 하는 수가
// middle(가운데수)의 값보다 크다면 현재의 left와 right, millddle에 해당하는 값을 출력후 순환호출을 사용하여 left는 middle+1(가운데수의 다음수)을 설정한 값으로 전달
case 0: printf("Left : %d 번째의 수 %d Right : %d 번째의 수 %d Middle : %d 번째의 수 %d\n",left+1,list[left],right+1,list[right],middle+1,list[middle]);
return middle;
// 만약 찾고자 하는 수가 middle(가운데수)의 값과 같다면 현재의 left와 right, millddle에 해당하는 값을 출력후 결과값으로 middle의 값을 전달
참고 자료
없음