본문내용
//********************************************************
//** **
//** 합병 정렬 후 이진탐색을 하는 프로그램 **
//** **
//********************************************************
#include
#define MAX 10
void init(int a[]); // 초기화 함수
void merge_sort(int a[], int min, int max); // 2개로 나누어 정렬
void merge(int a[], int min, int mid, int max); // 2개로 나누어진 정렬을 합병
void merge_etc(int a[], int min, int mid, int max);
int binary_search(int a[], int min, int max, int key);
void output(int a[]); // 출력함수
//------------------------ 메 인 함 수 ----------------------------
int main()
{
int a[MAX]; // 배열선언
int key;
int result;
init(a);
printf("[최종값 출력]\n");
merge_sort(a, 0, MAX-1); // 메인함수에서 호출
output(a);
printf("\n\n");
printf("찾고자 하는값을 입력 : ");
scanf("%d",&key);
result=binary_search(a,0,MAX-1,key);
printf("찾고자 하는 값의 위치 출력 : %d",result+1); //배열이 0부터 시작하기 때문에 +1을 입력
printf("\n");
}
//** **
//** 합병 정렬 후 이진탐색을 하는 프로그램 **
//** **
//********************************************************
#include
#define MAX 10
void init(int a[]); // 초기화 함수
void merge_sort(int a[], int min, int max); // 2개로 나누어 정렬
void merge(int a[], int min, int mid, int max); // 2개로 나누어진 정렬을 합병
void merge_etc(int a[], int min, int mid, int max);
int binary_search(int a[], int min, int max, int key);
void output(int a[]); // 출력함수
//------------------------ 메 인 함 수 ----------------------------
int main()
{
int a[MAX]; // 배열선언
int key;
int result;
init(a);
printf("[최종값 출력]\n");
merge_sort(a, 0, MAX-1); // 메인함수에서 호출
output(a);
printf("\n\n");
printf("찾고자 하는값을 입력 : ");
scanf("%d",&key);
result=binary_search(a,0,MAX-1,key);
printf("찾고자 하는 값의 위치 출력 : %d",result+1); //배열이 0부터 시작하기 때문에 +1을 입력
printf("\n");
}
소개글