Guest User

Untitled

a guest
May 21st, 2018
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.75 KB | None | 0 0
  1. public class Quicksort  {
  2.     private int[] numbers;
  3.     private int number;
  4.  
  5.     public void sort(int[] values) {
  6.         if (values ==null || values.length==0){
  7.             return;
  8.         }
  9.         this.numbers = values;
  10.         number = values.length;
  11.         quicksort(0, number - 1);
  12.     }
  13.  
  14.     private void quicksort(int low, int high) {
  15.         int i = low, j = high;
  16.         int pivot = numbers[low + (high-low)/2];
  17.         while (i <= j) {
  18.             while (numbers[i] < pivot) {
  19.                 i++;
  20.             }
  21.             while (numbers[j] > pivot) {
  22.                 j--;
  23.             }
  24.             if (i <= j) {
  25.                 exchange(i, j);
  26.                 i++;
  27.                 j--;
  28.             }
  29.         }
  30.         if (low < j)
  31.             quicksort(low, j);
  32.         if (i < high)
  33.             quicksort(i, high);
  34.     }
  35.     private void exchange(int i, int j) {
  36.         int temp = numbers[i];
  37.         numbers[i] = numbers[j];
  38.         numbers[j] = temp;
  39.     }
  40. }
Add Comment
Please, Sign In to add comment