document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. void quickSort(int *A, int p, int r,int size)
  2. {
  3.  if (p < r)
  4.  {
  5.   int static k = 0;
  6.   printf("\\n\\n********** %d회 퀵 정렬  ***********\\n", ++k);
  7.   printf("> 기준원소 : %d\\n> ", A[r]);
  8.   int q = partition(A, p, r, size);
  9.  
  10.   printf("\\n");
  11.   printf("Result : ");
  12.   see(A, 0, size);
  13.   quickSort(A, p, q-1, size);
  14.   quickSort(A, q + 1, r, size);
  15.  }
  16. }
  17. int partition(int *A, int p, int r, int size)
  18. {
  19.  int i = p - 1;
  20.  int j, tmp;
  21.  
  22.  see(A, p, r);
  23.  
  24.  for (j = p; j < r; j++)
  25.  {
  26.   if (A[j] <= A[r])
  27.   {
  28.    tmp = A[j];
  29.    A[j] = A[++i];
  30.    A[i] = tmp;
  31.   }
  32.  }
  33.  tmp = A[r];
  34.  A[r] = A[i + 1];
  35.  A[i + 1] = tmp;
  36.  return i + 1;
  37. }
  38. void see(int *A,int p, int size)
  39. {
  40.  int i;
  41.  for (i = p; i <= size; i++)
  42.   printf("%d ", A[i]);
  43. }
');