Advertisement
Guest User

Untitled

a guest
May 22nd, 2019
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.99 KB | None | 0 0
  1. public class Hints {
  2.     private static void bubbleSort(int[] array) {
  3.         int tmp;
  4.  
  5.         for(int i = 0; i < array.length; i++) {
  6.             for(int j = 1; j < array.length; j++) {
  7.                 if(array[i] < array[j - 1]) {
  8.                     tmp = array[i];
  9.                     array[i] = array[j - 1];
  10.                     array[j - 1] = tmp;
  11.                 }
  12.             }
  13.         }
  14.     }
  15.     private static void selectionSort(int[] array) {
  16.         int tmp;
  17.  
  18.         for(int i = 0; i < array.length; i++) {
  19.             int min = i;
  20.  
  21.             for(int j = i; j < array.length; j++) {
  22.                 if(array[j] < array[min])
  23.                     min = j;
  24.             }
  25.  
  26.             tmp = array[i];
  27.             array[i] = array[min];
  28.             array[min] = tmp;
  29.         }
  30.     }
  31.     private static void insertionSort(int[] array) {
  32.         int value;
  33.  
  34.         for(int i = 0; i < array.length; i++) {
  35.             value = array[i];
  36.  
  37.             int j = i - 1;
  38.  
  39.             for(; j >= 0; j--) {
  40.                 if(value < array[j])
  41.                     array[j + 1] = array[j];
  42.                 else
  43.                     break;
  44.             }
  45.  
  46.             array[j + 1] = value;
  47.         }
  48.     }
  49.     private static void shuffleSort(int[] array) {
  50.         int tmp;
  51.  
  52.         for(int i = 1; i < array.length; i++) {
  53.             if(array[i] < array[i - 1]) {
  54.                 tmp = array[i - 1];
  55.                 array[i - 1] = array[i];
  56.                 array[i] = tmp;
  57.             }
  58.  
  59.             for(int j = i - 1; (j - 1) >= 0; j--) {
  60.                 if(array[j] < array[j - 1]) {
  61.                     tmp = array[j - 1];
  62.                     array[j - 1] = array[j];
  63.                     array[j] = tmp;
  64.                 }
  65.             }
  66.         }
  67.     }
  68.     private static void shellSort(int[] array) {
  69.         int tmp;
  70.         int range = array.length / 2;
  71.  
  72.         while (range >= 1) {
  73.             for(int i = 0; i < array.length; i++) {
  74.                 for (int j = i - range; j >= 0; j -= range) {
  75.                     if(array[j] > array[j + range]) {
  76.                         tmp = array[j + range];
  77.                         array[j + range] = array[j];
  78.                         array[j] = tmp;
  79.                     }
  80.                 }
  81.             }
  82.  
  83.             range = range / 2;
  84.         }
  85.     }
  86.     private static void sortMerge(int[] array) {
  87.         if(array.length <= 1)
  88.             return;
  89.  
  90.         int mid = array.length / 2;
  91.         int[] left = new int[mid];
  92.         int[] right = new int[array.length - mid];
  93.  
  94.         System.arraycopy(array, 0, left, 0, left.length);
  95.         System.arraycopy(array, left.length, right, 0, right.length);
  96.  
  97.         sortMerge(left);
  98.         sortMerge(right);
  99.  
  100.         merge(left, right, array);
  101.     }
  102.     private static void merge(int[] left, int[] right, int[] array) {
  103.         int lPosition = 0, rPosition = 0, mPosition = 0;
  104.  
  105.         while (lPosition < left.length && rPosition < right.length){
  106.             if(left[lPosition] < right[rPosition]) {
  107.                 array[mPosition] = left[lPosition];
  108.                 lPosition++;
  109.             } else {
  110.                 array[mPosition] = right[rPosition];
  111.                 rPosition++;
  112.             }
  113.  
  114.             mPosition++;
  115.         }
  116.  
  117.         System.arraycopy(left, lPosition, array, mPosition, left.length - lPosition);
  118.         System.arraycopy(right, rPosition, array, mPosition, right.length - rPosition);
  119.     }
  120.  
  121.     private static void binarySearch(int[] array, int number) {
  122.         int first = 0;
  123.         int last = array.length - 1;
  124.         int middle = (first + last) / 2;
  125.  
  126.         while (first <= last){
  127.             if(array[middle] == number)
  128.                 break;
  129.             else if(number < array[middle])
  130.                 last = middle - 1;
  131.             else
  132.                 first = middle + 1;
  133.  
  134.             middle = (first + last) / 2;
  135.         }
  136.  
  137.         System.out.println("Middle: " + middle + ", number: " + array[middle]);
  138.     }
  139. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement