Advertisement
Shavit

P. 146 Ex. 12.34

Mar 23rd, 2014
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.78 KB | None | 0 0
  1. // Shavit Borisov
  2. // CW
  3.  
  4. public class NoDoubles
  5. {
  6.     int[] arr;
  7.    
  8.     public NoDoubles(int[] arr)
  9.     {
  10.         this.arr = arr.clone();
  11.     }
  12.    
  13.     public int[] sort()
  14.     {
  15.         int min;
  16.         for(int i = 0; i < arr.length - 1; i++)
  17.         {
  18.             min = searchMin(arr, i);
  19.             if(min != i)
  20.                 swap(arr, i, min);
  21.             if(i != 0 && arr[i] == arr[i - 1])
  22.                 getRid(i);
  23.         }
  24.         return arr;
  25.     }
  26.    
  27.     private int searchMin(int[] arr, int i)
  28.     {
  29.         int min = i;
  30.         for(int j = i + 1; j < arr.length; j++)
  31.             if(arr[j] < arr[min])
  32.                 min = j;
  33.         return min;
  34.     }
  35.    
  36.     private void swap(int[] arr, int index, int min)
  37.     {
  38.         int temp = arr[min];
  39.         arr[min] = arr[index];
  40.         arr[index] = temp;
  41.     }
  42.    
  43.     private void getRid(int index)
  44.     {
  45.         for(int i = index; i < arr.length - 1; i++)
  46.         {
  47.             arr[i] = arr[i + 1];
  48.         }
  49.     }
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement