/media/sda-magnetic/david/Extern-Magnetic-2022-06-29/Extern01/Dokumente-2021-05-8/disk10-ab-2020-01-10/02-debian-pc2-work/informatik/java-src/SearchSort.java


public class SearchSort {
   public static final int N_ELEMENTS = 8;
   private static int [] a = new int[N_ELEMENTS];
   private static int [] b = new int[N_ELEMENTS];
   
   public static void readarray() {
       int i;
       
       for (i = 0;  i < N_ELEMENTS;  i++) {
          System.out.print ("Geben Sie Element Nummer " + i + " ein > ");
          a[i] = Integer.parseInt(System.console().readLine());
       }
   
   }
   
   public static void printarray () {
        int i;
        
        for (i = 0;  i < N_ELEMENTS;  i++)
           System.out.print (b[i] + " ");
   }
   
   public static void resetdesarray () {
        int i;
        
        for (i = 0;  i < N_ELEMENTS;  i++)
           b[i] = a[i];
   }
   
   public static void selectionsort () {
      int i;
      int j;
      int min;
      int t;
      
      resetdesarray();
      
      for (i = 1;  i < N_ELEMENTS;  i++) {
         min = i;
         for (j = i+1;  j < N_ELEMENTS;  j++) {
            if (b[j] < b[min])
              min = j;
            t = b[min];
            b[min] = b[i];
            b[i] = t;
         
         }
      }
   }
   
   public static void insertionsort () {
       int i;
       int j;
       int v;
       
       resetdesarray();
       
       for (i = 2;  i < N_ELEMENTS;  i++) {
          v = b[i];
          j = i;
          
          while ((b[j-1] > v) && ((j-1) > 0)){
             b[j] = b[j-1];
             j--;
          }
          b[j] = v;
       }
   }
   
   public static void bubblesort () {
       int i;
       int j;
       int t;
       
       resetdesarray();
       
       for (i = N_ELEMENTS-1;  i >= 1;  i--) 
          for (j = 2;  j <= i;  j++) 
             if(b[j-1] > b[j]) {
                t = b[j-1];
                b[j-1] = b[j];
                b[j] = t;
             }
   
   }
   
   static public void main(String[] argv) {
       readarray();
       printarray();
       selectionsort();
       printarray();
       insertionsort();
       printarray();
       bubblesort();
       printarray();
   
   }
}