duplicityyy

[АПС] - Непарно парно сортирање

Nov 21st, 2019
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.50 KB | None | 0 0
  1. /*
  2. Дадена е низа со N природни броеви. Треба да се сортира низата така што во првиот дел од низата ќе бидат подредени непарните броеви од неа во растечки редослед, а во вториот дел парните броеви во опаѓачки редослед. Во првиот ред од влезот даден е бројот на елементи во низата N, а во вториот ред се дадени броевите. На излез треба да се испечати сортираната низа.
  3.  
  4. Име на класата: OddEvenSort
  5.  
  6. Input:
  7. 8
  8. 6 10 13 5 8 17 2 5
  9.  
  10. Output:
  11. 5 5 13 17 10 8 6 2
  12.  
  13. */
  14. import java.io.BufferedReader;
  15. import java.io.IOException;
  16. import java.io.InputStreamReader;
  17.  
  18. public class OddEvenSort {
  19.  
  20.     static void oddEvenSort(int a[], int n) {
  21.  
  22.         boolean podredena = false;
  23.  
  24.         while(!podredena){
  25.             podredena=true;
  26.             int temp = 0;
  27.             int temp2 = 0;
  28.             for(int i=0;i<a.length-1;i++){
  29.                 if(a[i]%2==0&&a[i+1]%2==1){
  30.                     temp = a[i];
  31.                     a[i] = a[i+1];
  32.                     a[i+1] = temp;
  33.  
  34.                     podredena=false;
  35.                 }
  36.                 if(a[i]%2==1&&a[i+1]%2==1){
  37.                     if(a[i] > a[i+1]){
  38.                         temp2 = a[i];
  39.                         a[i] = a[i+1];
  40.                         a[i+1] = temp2;
  41.                         podredena = false;
  42.                     }
  43.                 }else if(a[i]%2==0 && a[i+1]%2==0){
  44.                     if(a[i] < a[i+1]){
  45.                         temp2 = a[i];
  46.                         a[i] = a[i+1];
  47.                         a[i+1] = temp2;
  48.                         podredena = false;
  49.                     }
  50.                 }
  51.  
  52.             }
  53.  
  54.         }
  55.  
  56.         return;
  57.     }
  58.  
  59.     public static void main(String[] args) throws IOException {
  60.         int i;
  61.         BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
  62.         String s = stdin.readLine();
  63.         int n = Integer.parseInt(s);
  64.  
  65.         s = stdin.readLine();
  66.         String[] pom = s.split(" ");
  67.         int[] a = new int[n];
  68.         for (i = 0; i < n; i++)
  69.             a[i] = Integer.parseInt(pom[i]);
  70.         oddEvenSort(a, n);
  71.         for (i = 0; i < n - 1; i++)
  72.             System.out.print(a[i] + " ");
  73.         System.out.print(a[i]);
  74.     }
  75. }
Add Comment
Please, Sign In to add comment