Advertisement
Crazy

Shaker (cocktail) сортирање

Nov 19th, 2017
497
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.39 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4.  
  5. public class ShakerSort {
  6.    
  7.     static void shakerSort(int a[], int n)
  8.     {  
  9.        
  10.         for(int i=0; i<n-i; i++){
  11.             int smen=0;
  12.        
  13.             for(int j=n-1-i; j>i; j--){
  14.                 if(a[j] < a[j-1]){
  15.                     int tmp = a[j];
  16.                     a[j] = a[j-1];
  17.                     a[j-1] = tmp;
  18.                     smen++;
  19.                 }
  20.             }
  21.            
  22.          for(int j=0; j<n; j++)System.out.print(a[j]+" ");
  23.             System.out.println();
  24.            
  25.            
  26.             for(int j=i+1; j<n-i-1; j++){
  27.                 if(a[j] > a[j+1]){
  28.                     int tmp = a[j];
  29.                     a[j] = a[j+1];
  30.                     a[j+1] = tmp;
  31.                     smen++;
  32.                 }
  33.             }
  34.            
  35.         for(int j=0; j<n; j++)System.out.print(a[j]+" ");
  36.             System.out.println();
  37.             if(smen == 0)break;
  38.         }
  39.     }
  40.  
  41.     public static void main(String[] args) throws IOException{
  42.         int i;
  43.         BufferedReader stdin = new BufferedReader( new InputStreamReader(System.in));
  44.         String s = stdin.readLine();
  45.         int n = Integer.parseInt(s);
  46.        
  47.         s = stdin.readLine();
  48.         String [] pom = s.split(" ");
  49.         int [] a = new int[n];
  50.         for(i=0;i<n;i++)
  51.             a[i]=Integer.parseInt(pom[i]);
  52.         shakerSort(a,n);
  53.     }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement