Advertisement
Guest User

Untitled

a guest
Jul 7th, 2010
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5 1.58 KB | None | 0 0
  1. /*
  2.  * run:
  3.  * debug: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  4.  * debug: [10, 2, 3, 4, 5, 6, 7, 8, 9, 1]
  5.  * debug: [10, 9, 3, 4, 5, 6, 7, 8, 2, 1]
  6.  * debug: [10, 9, 8, 4, 5, 6, 7, 3, 2, 1]
  7.  * debug: [10, 9, 8, 7, 5, 6, 4, 3, 2, 1]
  8.  * debug: [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
  9.  * debug: [4, 9, 8, 7, 6, 5, 10, 3, 2, 1]
  10.  * debug: [4, 5, 8, 7, 6, 9, 10, 3, 2, 1]
  11.  * debug: [4, 5, 6, 7, 8, 9, 10, 3, 2, 1]
  12.  * debug: [4, 5, 6, 7, 8, 9, 10, 1, 2, 3]
  13.  * done
  14.  * BUILD SUCCESSFUL (total time: 0 seconds)
  15.  */
  16. import java.util.Arrays;
  17.  
  18.  
  19. public class ReverseSolution {
  20.  
  21.     private static int[] array(int size) {
  22.         int[] array = new int[size];
  23.         for (int i = 0; i < size; i++) {
  24.             array[i] = i + 1;
  25.         }
  26.         return array;
  27.     }
  28.  
  29.     private static void reverse(final int[] array, final int start, final int end){
  30.         int s=start;
  31.         int e=end-1;
  32.         while(s<e){
  33.             int swap = array[s];
  34.             array[s] = array[e];
  35.             array[e] = swap;
  36.             System.out.println("debug: " + Arrays.toString(array));
  37.             s++;
  38.             e--;
  39.         }
  40.     }
  41.  
  42.     public static void main(String[] args) {
  43.         final int size = 10;
  44.         final int shift = 3;
  45.         assert size > 0;
  46.         assert shift <= size;
  47.         int[] array = array(size);
  48.         System.out.println("debug: " + Arrays.toString(array));
  49.         if (shift != size) {
  50.             reverse(array, 0, size);
  51.             reverse(array, 0, size-shift);
  52.             reverse(array, size-shift, size);
  53.         }
  54.         System.out.println("done");
  55.     }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement