H
hüli86
Gast
Hallo kann man hier den sortier algorithmus
ohne dem bubble sort machen
import java.io.*;
class Aufgabe2{
public static void main(String [] args) throws IOException{
//Variablen deklarieren und initialisieren
int n = 0, i, j, tauschop=0, verg=0, flag=0;
double tmp=0;
BufferedReader eingabe = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Geben Sie bitte eine Zahl n groesser 6 ein: ");
n = Integer.parseInt(eingabe.readLine());
//Solange eingegebene Zahl kleiner 6, Eingabe wiederholen
while( n <= 6 ){
System.out.print("Die Zahl muss groesser 6 sein. Bitte noch mal eingeben: ");
n= Integer.parseInt(eingabe.readLine());
}
//Ein Array vom Typ double mit n Elementen erzeugen
double [] array2sort = new double[n];
//Die Array-Felder mit Zahlen füllen
for (i=0; i < n; i++){
System.out.print("Ihre "+(i+1)+". Zahl bitte: ");
array2sort = Double.parseDouble(eingabe.readLine());
}
//Ausgabe des Arrays vor der Sortierung
System.out.println("Der Array vor der Sortierung: ");
for (i=0; i < array2sort.length; i++){
System.out.print(array2sort+" ");
}
//Sortier-Algorithmus
for (i = 0; i < array2sort.length-1; i++){
flag = 0;
for (j = array2sort.length-1; j > i; j--){
verg++;
if (array2sort[j] < array2sort[j-1]){
tmp = array2sort[j];
array2sort[j] = array2sort[j-1];
array2sort[j-1] = tmp;
tauschop++;
flag = 1;
}
}
if (flag == 0)
break;
}
//Ausgabe Anzahl der Tauschoperationen und der Vergleiche
System.out.println("\nAnzahl der Tauschoperationen: "+tauschop+"\tAnzahl der Vergleiche: "+verg);
//Ausgabe des Arrays nach der Sortierung
System.out.println("\nDer Array nach der Sortierung: ");
for (i=0; i < array2sort.length; i++){
System.out.print(array2sort+" ");
}
}
}
ohne dem bubble sort machen
import java.io.*;
class Aufgabe2{
public static void main(String [] args) throws IOException{
//Variablen deklarieren und initialisieren
int n = 0, i, j, tauschop=0, verg=0, flag=0;
double tmp=0;
BufferedReader eingabe = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Geben Sie bitte eine Zahl n groesser 6 ein: ");
n = Integer.parseInt(eingabe.readLine());
//Solange eingegebene Zahl kleiner 6, Eingabe wiederholen
while( n <= 6 ){
System.out.print("Die Zahl muss groesser 6 sein. Bitte noch mal eingeben: ");
n= Integer.parseInt(eingabe.readLine());
}
//Ein Array vom Typ double mit n Elementen erzeugen
double [] array2sort = new double[n];
//Die Array-Felder mit Zahlen füllen
for (i=0; i < n; i++){
System.out.print("Ihre "+(i+1)+". Zahl bitte: ");
array2sort = Double.parseDouble(eingabe.readLine());
}
//Ausgabe des Arrays vor der Sortierung
System.out.println("Der Array vor der Sortierung: ");
for (i=0; i < array2sort.length; i++){
System.out.print(array2sort+" ");
}
//Sortier-Algorithmus
for (i = 0; i < array2sort.length-1; i++){
flag = 0;
for (j = array2sort.length-1; j > i; j--){
verg++;
if (array2sort[j] < array2sort[j-1]){
tmp = array2sort[j];
array2sort[j] = array2sort[j-1];
array2sort[j-1] = tmp;
tauschop++;
flag = 1;
}
}
if (flag == 0)
break;
}
//Ausgabe Anzahl der Tauschoperationen und der Vergleiche
System.out.println("\nAnzahl der Tauschoperationen: "+tauschop+"\tAnzahl der Vergleiche: "+verg);
//Ausgabe des Arrays nach der Sortierung
System.out.println("\nDer Array nach der Sortierung: ");
for (i=0; i < array2sort.length; i++){
System.out.print(array2sort+" ");
}
}
}