Bubble sort array

Status
Nicht offen für weitere Antworten.
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+" ");
}

}

}
 

EOB

Top Contributor
was ist los?

1. code tags nutzen

2. frage so formulieren, dass man sie versteht

:)

gruesse
 

The_S

Top Contributor
lol, omfg ... :roll:

Man kann nicht wirklich verstehen, was du für ein Problem hast. Versuch es nochmal anders zu erklären :)
 

Leroy42

Top Contributor
Ich codetagge mal:
Code:
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[i] = 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[i]+" ");
    }
    
    //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[i]+" ");
    }
    
  }
 

Leroy42

Top Contributor
hüli86 hat gesagt.:
Hallo kann man hier den sortier algorithmus
ohne dem bubble sort machen

Ja, du kannst einen anderen Sortieralgorithmus implementieren
(davon gibts Dutzende) oder du ninmmst Java's eingebauten.

Beim letzteren hast du allerdings keine Möglichkeiten, dir die
Anzahl der benötigten Vertauschungen auszugeben.
 

EOB

Top Contributor
es gibt zum beispiel den quicksort. oder du schaust mal hier nach: sortieralgorithmen

ich liebe diese laufzeitbestimmungen :roll: ... wer kann denn hier gliech mal verstaendlich komplexitaet und obere /untere schranken erklaeren?

gruesse :lol: :lol:
 

Leroy42

Top Contributor
Mørketid hat gesagt.:
wer kann denn hier gliech mal verstaendlich komplexitaet und obere /untere schranken erklaeren?

Falls die Frage ernstgemeint war:

Ein Algorithmus hat die Komplexität O(f(n)), wenn, bis auf Konstanten, gilt,
daß die Laufzeit (Speicherverbrauch, ...) proportional zu f(n) für n Eingabewerte ist.

BubbleSort : O(n²)
QuickSort : O(n * log n)

Besser schaust du hier: wiki Komplexität
 

EOB

Top Contributor
so das es jeder versteht....was bedeutet denn eine komplexitaet von O(f(n)) oder O(f(g(n))) und so weiter....das meinte ich ;-). ich habs durch...zum glueck. wollts nicht unbedingt erklaert haben.

gruesse
 

Marco13

Top Contributor
"so das es jeder versteht" ist eine sehr starke Anforderung.
"richtig" ist auch eine starke Anforderung.
Bisher wurde keine von beiden erfüllt.

Richtig:
cb217a4c5d6a3039731eae5b073d66c9.png
<=>
62fcbd7754fdf317c71629381ebc7386.png


Vielleicht verständlich:
Die Zeit, die ein Sortierverfahren zum Sortieren benötigt, hängt davon ab, wieviele Elemente sortiert werden müssen. Die Zeit, die ein Algorithmus im schlechtesten Fall (worst case) für das Sortieren benötigt, schätzt man nach oben mit der O-Notation ab. Wenn man die Zeit, die im schlechteste Fall benötigt wird, um n Elemente zu sortieren, mit f(n) bezeichnet, dann bedeutet
cb217a4c5d6a3039731eae5b073d66c9.png
, dass diese Zeit asymptotisch bei steigender Eingabegröße "höchstens so schnell wächst, wie g". Wenn die Eingabegröße eine bestimmte Grenze überschreitet, wird von dort an immer weniger Zeit benötigt, als durch c*g(n) angegeben ist (für c>0).
 

Leroy42

Top Contributor
Marco13 hat gesagt.:

<HalbIronisch>Ach, wie ich das vermisse</HalbIronisch>

Marco13 hat gesagt.:
Die Zeit, die ein Algorithmus im schlechtesten Fall (worst case) für das Sortieren benötigt, schätzt man nach oben mit der O-Notation ab. Wenn man die Zeit, die im schlechteste Fall benötigt wird, um n Elemente zu sortieren, mit f(n) bezeichnet, dann b

:shock: Ist das wirklich so? Im schlechtesten Fall?

Dem würde doch widersprechen, daß Quicksort ein Laufzeitkomplexität
von O(n*log n) zugesprochen wird. Im schlimmsten Fall (dann wenn jedes
gewählte Pivot-Element den Array nur um ein Index verkleinert), ist die Laufzeit
aber doch wesentlich größer. ???:L
 

Marco13

Top Contributor
Nun, man kann auch die Zeit, die im besten Fall benötigt wird, mit der O-Notation abschätzen - nur macht das meistens nicht viel Sinn. Gelegentlich wird auch der Average-Case abgeschätzt. Aber "üblich" (und imho am sinnvollsten) ist die Worst-Case Zeit. Und die ist bei QuickSort tatsächlich O(n^2). Deswegen wird z.B. bei Arrays.sort (meistens) MergeSort verwendet, was auch im worst case O(nlog(n)) hat.
 

Lim_Dul

Top Contributor
Quicksort ist ein Vertreter, der etwas aus der Reihe tanzt.

Quicksort liegt tatsächlich nur in O(n^2) und nicht in O(n log n).

Allerdings wird meistens der randomisierte Quicksort eingesetzt und bei randomisiertieren Algorithmen interessiert man sich dann für die erwartete Laufzeit. Und diese liegt bei dem randomisierten Quicksort in Theta(n log n), also auch in O(n log n).

MergeSort hat gegenüber Quicksort einen großen Nachteil, dass MergeSort deutlich mehr temporären Speicher als Quicksort braucht.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Bubble Sort - Int[] Array sortieren Java Basics - Anfänger-Themen 2
P Java Bubble Sort,Anfängerfehler Java Basics - Anfänger-Themen 4
N Bubble Sort sortieren mit Int Werte Java Basics - Anfänger-Themen 8
N Schlüsselworte Bubble Sort nach eigener Ordnung Java Basics - Anfänger-Themen 8
S Liste und Bubble Sort Java Basics - Anfänger-Themen 4
S Bubble Sort Java Basics - Anfänger-Themen 5
S Bubble Sort Algorithmus Java Basics - Anfänger-Themen 3
V Bubble Sort endet in Endlosschleife Java Basics - Anfänger-Themen 4
M Bubble-Sort und null Werte Java Basics - Anfänger-Themen 4
G Zählen von Zuweisungen bei Bubble Sort Java Basics - Anfänger-Themen 3
V Sortieren mit Bubble-Sort Java Basics - Anfänger-Themen 5
A Bubble-Sort Java Basics - Anfänger-Themen 3
R Frage zu Bubble-Sort Java Basics - Anfänger-Themen 10
F Bubble und Insertsort Java Basics - Anfänger-Themen 3
G Sortieren (bubble) Java Basics - Anfänger-Themen 2
emreiu Formatiertes Output bei Insertion Sort Java Basics - Anfänger-Themen 6
O Sortieren mit Insertion Sort Java Basics - Anfänger-Themen 3
Tw1Z Erste Schritte Sort in java Java Basics - Anfänger-Themen 2
X Collections.sort als Lambda Java Basics - Anfänger-Themen 14
berserkerdq2 Geht collections.sort bei allen? Linkedhashset, ArrayList, HashSet etc. Java Basics - Anfänger-Themen 4
L Insertion Sort bei zweidimensionalem Array Java Basics - Anfänger-Themen 7
KogoroMori21 Textdatei einlesen im Array (Selection Sort Algorithmus) Java Basics - Anfänger-Themen 3
Marc111111111 Selection Sort in Java?? Java Basics - Anfänger-Themen 6
G Insertion Sort mit Aray Java Basics - Anfänger-Themen 5
O Collections.sort und List.sort mit Lambda Verwirrung Java Basics - Anfänger-Themen 5
B Collections.sort mit zwei Bedingungen? Java Basics - Anfänger-Themen 4
M Collection.sort sortiert nicht Java Basics - Anfänger-Themen 7
CptK Best Practice Merge-Sort als Baum darstellen Java Basics - Anfänger-Themen 3
S Methoden Sort Array Java Basics - Anfänger-Themen 9
I Erste Schritte sort() vs. sort() Java Basics - Anfänger-Themen 9
BadBat ArrayList<String> sort by last word Java Basics - Anfänger-Themen 8
U Methoden Zweidimensionales Array mit Arrays.sort sortieren? Java Basics - Anfänger-Themen 22
X Quick Sort - Vergleichsoperationen zählen Java Basics - Anfänger-Themen 0
O Insertion Sort Java Basics - Anfänger-Themen 4
C OOP array Sortieren ohne den sort Befehl Java Basics - Anfänger-Themen 10
S int-Array mittels Arrays.sort() in einer Schleife sortieren. Java Basics - Anfänger-Themen 2
J Fehler im Selection Sort Java Basics - Anfänger-Themen 5
O Listen sort-Methode Java Basics - Anfänger-Themen 1
M Quick Sort Java Basics - Anfänger-Themen 4
V Heap-Sort Java Basics - Anfänger-Themen 0
M Methoden Quick Sort Java Basics - Anfänger-Themen 5
T array.sort mit zwei Kriterien Java Basics - Anfänger-Themen 8
H Collections Was ist schneller - HashMap + Sort v TreeMap? Java Basics - Anfänger-Themen 75
S Fehler bei Arrays.sort(array) - Methode!? Java Basics - Anfänger-Themen 3
P collections.sort Java Basics - Anfänger-Themen 2
B Arrays.sort Java Basics - Anfänger-Themen 4
P schneller Sort ? Java Basics - Anfänger-Themen 2
B Merge-Sort Analyse Java Basics - Anfänger-Themen 27
K Array.sort() Java Basics - Anfänger-Themen 12
H Etwas wie sort() / sorted() in JAVA-Collections? Java Basics - Anfänger-Themen 5
B 2 dimensionales Array: Selection Sort Java Basics - Anfänger-Themen 4
F Methoden Insert Sort Fehler Java Basics - Anfänger-Themen 10
P Ein sort problem Java Basics - Anfänger-Themen 6
N Selection Sort Problem Java Basics - Anfänger-Themen 19
Spin sort tokens - somebody knows a better solution? Java Basics - Anfänger-Themen 13
B Strings alphabentisch sortieren mit Hilfe von insertion sort Java Basics - Anfänger-Themen 6
P Array.sort // Arrays ausgeben Java Basics - Anfänger-Themen 21
S String sortieren mit Interface und sort() Java Basics - Anfänger-Themen 6
F Arrays.sort( ) Problem Java Basics - Anfänger-Themen 14
J Liste von Integers mit Selection Sort sortieren Java Basics - Anfänger-Themen 3
B Selection sort Java Basics - Anfänger-Themen 33
E Selection Sort für beliebige Objekte Java Basics - Anfänger-Themen 24
U Selection Sort schnellere Variante Java Basics - Anfänger-Themen 17
T Selection-Sort-Algorithmus Java Basics - Anfänger-Themen 9
Dit_ Collections.sort(..); | Anwendung Java Basics - Anfänger-Themen 4
N java.util.Arrays.sort Warum sind Leerzeichen vor alphabetischen Zeichen sortiert? Java Basics - Anfänger-Themen 12
D Insertion sort auf eine liste Java Basics - Anfänger-Themen 4
X Counting Sort Java Basics - Anfänger-Themen 5
P Problem mit Insertion Sort Java Basics - Anfänger-Themen 4
G Quick Sort - bin ich zu blöd? Java Basics - Anfänger-Themen 7
D sort.exe über java aufrufen Java Basics - Anfänger-Themen 2
S Collection<Typ> sort Java Basics - Anfänger-Themen 4
hedges Insertion Sort Algorithmus problem Java Basics - Anfänger-Themen 18
N Collections Sort ArrayList<> Java Basics - Anfänger-Themen 7
K Arrays.sort() Java Basics - Anfänger-Themen 2
S Collection Sort Java Basics - Anfänger-Themen 15
O Arrays und sort Java Basics - Anfänger-Themen 4
I Selection-Sort // Array *help* Java Basics - Anfänger-Themen 2
G sort(int[] a, int fromIndex, int toIndex) Java Basics - Anfänger-Themen 5
J Selection Sort in Liste implementieren Java Basics - Anfänger-Themen 3
F Klassenmethode Arrays.sort(Object[]a) Java Basics - Anfänger-Themen 2
I Methode Arrays.sort(Object[] arr) Java Basics - Anfänger-Themen 19
K compareTo in Verbinug mit Arrays.sort() Java Basics - Anfänger-Themen 4
0 Selection Sort funktioniert nicht. Java Basics - Anfänger-Themen 3
D Frage zu Collection.sort bzw. Comparator u. Comparable Java Basics - Anfänger-Themen 2
U Array.sort auf variable Array-Größe anwenden Java Basics - Anfänger-Themen 3
D Mit java.util.Arrays.sort die negativen Zahlen hinten Java Basics - Anfänger-Themen 4
D Collections.sort() frage Java Basics - Anfänger-Themen 6
G Arrays.sort() will nicht sortieren Java Basics - Anfänger-Themen 8
G float-Array _ohne_ Arrays.sort sortieren Java Basics - Anfänger-Themen 5
T Array verkleinern Java Basics - Anfänger-Themen 2
J Array aus Numberfield Eingaben Java Basics - Anfänger-Themen 7
D Array List mit Objekten sortieren Java Basics - Anfänger-Themen 2
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
Ü Zweidimensionales Array in der ersten Zeile deklarieren Java Basics - Anfänger-Themen 13
Thomas Uppe 2D Array Reihenfolge vermischen Java Basics - Anfänger-Themen 4
T array auslesen Java Basics - Anfänger-Themen 2
Nitrogames Variablen Variable aus JOptionPane Abfrage in Array einfügen Java Basics - Anfänger-Themen 4
moini Auf Array aus Superklasse zugreifen? Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben