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();
}
}