public static void quickSort(int[] list, int left, int right){ 

   if(left < right){ 

      int i = left; 

      int j = right; 

      int p = list[left]; 

      //분할 과정 

      while(i < j){ 

         while(list[j] > p) j--; 

         while(i < j && list[i] <= p) i++; 

         int tmp = list[i]; 

         list[i] = list[j]; 

         list[j] = tmp; 

      } 

      list[left] = list[i]; 

      list[i] = p; 

      //정렬 과정 

      quickSort(list, left, i-1); 

      quickSort(list, i+1, right);   

   } 

'DEV > ALGORITHM' 카테고리의 다른 글

조합 알고리즘  (0) 2018.05.11

적당히 버무려 쓰면됩니다.


public static void Comb(int n, int r){

    if(r == 0){

      for(int i = 0; i<T.length; i++){

      if(T[i]==0){

      break;

             }

      }

        return;

    }else if(n<r){

        return;

    }

    else {  //loop이 아님

        T[r-1] = data[n-1];

        Comb(n-1, r-1);  //n-1Cr-1

        Comb(n-1, r);    //n-1Cr

    }

}

'DEV > ALGORITHM' 카테고리의 다른 글

퀵 정렬 알고리즘  (0) 2018.05.11

+ Recent posts