Advertisement
Guest User

Shell's Sort

a guest
Oct 1st, 2014
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.78 KB | None | 0 0
  1. package b;
  2.  
  3. public class Shell {
  4.  
  5.     public static void main(String[] args) {
  6.         // TODO Auto-generated method stub
  7.         int[] a = new int[] {1,3,5,2,4};
  8.         int n = a.length;
  9.         //phase = 0
  10.         int step = n / 2;      
  11.         //phase = 1
  12.         while (step > 0) {
  13.             //phase = 2
  14.             int i = 0;
  15.             //phase = 3
  16.             while (i < (n - step)) {
  17.                 //phase = 4
  18.                 int j = i;
  19.                 //phase = 5
  20.                 while (j >= 0 && a[j] > a[j + step]) {
  21.                     //phase = 6 (можно разбить на несколько фаз, но чего-то как-то не охота)
  22.                     int t = a[j];
  23.                     a[j] = a[j + step];
  24.                     a[j + step] = t;
  25.                     //phase = 7
  26.                     j--;
  27.                 }
  28.                 //phase = 8
  29.                 i++;
  30.             }
  31.             //phase = 9
  32.             step /= 2;
  33.         }
  34.        
  35.         for (int k = 0; k < n; k++) {
  36.             System.out.print(a[k] + " ");
  37.         }
  38.     }
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement