| 
      
        |  |  
        |  |  
        |  |  
        |  |  
        | 알고리즘 - 합병정렬, 퀵정렬 |  
        |  |  
        |  |  
        |  |  
        | 1. 프로그램 소스 합병정렬(링크를 사용하는) : lec4-5, 퀵정렬(순환버전) : lec5-1 사용
 
 CompareMeasure.java
 package exercise_2;
 
 public class CompareMeasure {
 
 public void mergeSort(int n){ // 합병정렬 method (lec 4-5)
 int arrSize = n ; // 배열의 크기
 int arr[] = new int[arrSize+1];
 
 for(int i=1; i[= arrSize; i++)
 arr[i] = (int)(java.lang.Math.random()*(n-1)); //테스트 데이터 생성
 
 MergeSortClass m = new MergeSortClass(arr, arrSize) ; // 합병정렬 클래스를 생성
 arr = m.MergeSortCall2(); // 합병정렬을 호출
 
 }
 
 public void QuickSort(int n){ // 퀵정렬 method 순환버전 (lec 5-1)
 int arrSize = n ; // 배열의 크기
 int arr[] = new int[arrSize+2];
 arr[arrSize+1] = Integer.MAX_VALUE;
 /*중추키가 가장 큰 경우 배열범위를 벗어나게 되는데
 그 현상을 방지하기 위해 맨 마지막에 더미값을 넣어둠
 */
 
 for(int i=1; i[= arrSize; i++)
 arr[i] = (int)(java.lang.Math.random()*(n-1)); //테스트 데이터 생성
 
 // 중간값 규칙
 int temp=0;
 if(arr[arrSize/2][arr[arrSize-1]){
 if(arr[1][arr[arrSize/2]){ //arr[arrSize/2] 이 중간값일때
 ....
 |  
        |  |  
        |  |  
        |  |  
        |  |  
        |  |  
        |  |  
        |  |  
        |  |  
    	|  |  
        |  |  
        |  |  
        |  |  
        |  |  |  |  |