Advertisement
NinjaFighter69696969

sdfs

Dec 4th, 2014
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.88 KB | None | 0 0
  1. package sortcomparison;
  2.  
  3. public class BasicSorter implements Sorter {
  4.  
  5.     @Override
  6.     public void insertionSort(String[] data, int firstIndex, int numberToSort) {
  7.         for (int i = 0; i < numberToSort; i++) {
  8.             for (int j = 0; j < numberToSort - i; j++) {
  9.                 if (data[i].compareToIgnoreCase(data[i + j]) > 0) {
  10.                     String temp = data[i];
  11.                     data[i] = data[j + i];
  12.                     data[i + j] = temp;
  13.                 }
  14.             }
  15.         }
  16.  
  17.     }
  18.  
  19.  
  20.     @Override
  21.     public void quickSort(String[] data, int firstIndex, int numberToSort) {
  22.         if (data.length > 1) {
  23.             int mid = partition(data, firstIndex, numberToSort);
  24.             int leftLength = firstIndex + numberToSort - mid, rightLength = mid;
  25.             quickSort(data, firstIndex, mid);
  26.             quickSort(data, mid + 1, numberToSort - mid);
  27.         }
  28.     }
  29.  
  30.  
  31.     @Override
  32.     public int partition(String[] data, int firstIndex, int numberToPartition) {
  33.         int piv = firstIndex, tooBigNdx = firstIndex + 1, tooSmallNdx = firstIndex + numberToPartition;
  34.         while (tooBigNdx < tooSmallNdx) {
  35.             while (tooBigNdx > tooSmallNdx && data[tooBigNdx].compareToIgnoreCase(data[piv]) <= 0)
  36.                 tooBigNdx++;
  37.             while (tooSmallNdx > piv && data[tooSmallNdx].compareToIgnoreCase(data[piv]) > 0)
  38.                 tooSmallNdx++;
  39.  
  40.             if (tooBigNdx < tooSmallNdx) {
  41.                 String temp = data[tooBigNdx];
  42.                 data[tooBigNdx] = data[tooSmallNdx];
  43.                 data[tooSmallNdx] = temp;
  44.             }
  45.         }
  46.  
  47.         if (data[piv].compareToIgnoreCase(data[tooSmallNdx]) >= 0) {
  48.             String temp = data[piv];
  49.             data[piv] = data[tooSmallNdx];
  50.             data[tooSmallNdx] = temp;
  51.  
  52.             return tooSmallNdx;
  53.         } else
  54.             return piv;
  55.     }
  56.  
  57.  
  58.     @Override
  59.     public void mergeSort(String[] data, int firstIndex, int numberToSort) {
  60.  
  61.     }
  62.  
  63.  
  64.     @Override
  65.     public void merge(String[] data, int firstIndex, int leftSegmentSize, int rightSegmentSize) {
  66.  
  67.     }
  68.  
  69.  
  70.     @Override
  71.     public void heapSort(String[] data) {
  72.  
  73.     }
  74.  
  75.  
  76.     @Override
  77.     public void heapify(String[] data) {
  78.  
  79.     }
  80.  
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement