Advertisement
slik1977

Quiksort+Benchmark+Evtyukhov

Feb 24th, 2022
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.15 KB | None | 0 0
  1. package MyPackage;
  2.  
  3. import org.openjdk.jmh.annotations.*;
  4.  
  5. import java.util.Arrays;
  6. import java.util.concurrent.TimeUnit;
  7.  
  8. public class QuickSort {
  9.     public void quickSort(int[] array, int low, int high) {
  10.         if (array.length == 0)
  11.             return;
  12.  
  13.         if (low >= high)
  14.             return;
  15.  
  16.         int middle = low + (high - low) / 2;
  17.         int opora = array[middle];
  18.  
  19.         int i = low, j = high;
  20.         while (i <= j) {
  21.             while (array[i] < opora) {
  22.                 i++;
  23.             }
  24.  
  25.             while (array[j] > opora) {
  26.                 j--;
  27.             }
  28.  
  29.             if (i <= j) {//меняем местами
  30.                 int temp = array[i];
  31.                 array[i] = array[j];
  32.                 array[j] = temp;
  33.                 i++;
  34.                 j--;
  35.             }
  36.         }
  37.  
  38.         if (low < j)
  39.             quickSort(array, low, j);
  40.  
  41.         if (high > i)
  42.             quickSort(array, i, high);
  43.     }
  44.  
  45.     public void ArraySort(){
  46.         var array = new int[1000];
  47.         for (int i = 0; i < 1000; i++)
  48.             array[i] = 1000 - i;
  49.         quickSort(array, 0, 999);
  50.     }
  51. }
  52.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement