본문 바로가기
알고리즘

퀵 정렬 알고리즘

by hansoo.labs 한수댁 2013. 8. 15.
퀵 정렬(Quicksort)은 C. A. R. 호어가 개발한 정렬 알고리즘으로, 다른 원소와의 비교만으로 정렬을 수행하는 비교 정렬에 속한다.
from wiki

private long[] table;

private int quickSort(long[] arr){
	table = arr;
	quickSortFn(0, table.length - 1);
	
	return 1;
}

private void quickSortFn(int left, int right)
{
   int i,j;
   long p, tmp;
   
   if(left < right)
   {
      i=left;
      j=right;
      p=table[left];
      //분할 과정
      while(i < j)
      {
         while(table[j] > p) j--;
         while(i < j && table[i]<=p) i++;
 
         tmp = table[i];
         table[i]=table[j];
         table[j]=tmp;
      }
      table[left] = table[i];
      table[i]=p;
      //정렬 과정
      quickSortFn(left,i-1);
      quickSortFn(i+1,right);   
   }
}

좀더 완전히 정리해봐야 겠다..





댓글0