PCMasters Hardware Forum > Software > GFX, Webdesign und Programmierung > Seite 12 > Java Mergesort graphisch darstellen

Im PC Forum registrieren


Produktsuche
IDEALO-PRODUKT-SUCHE
idealo preisvergleich
PCM News & Reviews
Antwort
 
 
Alt 19.06.2009, 19:55
Threadersteller
Crixton
 
Standard

Java Mergesort graphisch darstellen



Hi,

ich soll in informatik ein java projekt gestalten.
In diesm Projekt geht es darum den Mergesort graphisch darstellen zu lassen.
In diesem Fall muss man einen Roboter(Robot Karol) eine Zufallsgenerirte Mauer sortieren lassen.

Soweit so gut.
Der Mergesort Sortiert die Mauer theoretisch schon, also er sortiert die Array werte aber der Roboter läuft noch nicht.
Den Mergesort hab ich mal an einem einfachen array ausprobiert und er sortiert die Zahlen von klein nach groß.
Jetz muss der Roboter noch laufen lernen und die Mauerelmente sortieren.
Als Code hab ich bis jetzt:

In diesem Fall ist der wichtel ein Objekt der Roboterklasse, also er ist Robotkarol!



Code:
public void SortierAlgorithmus4 () {
        sop("Sortieralgorithmus: Mergesrot");
        mergeSort(Mauerkopie);
        wichtel.zumAnfangLaufen();
        wichtel.nachLinksLaufen();
           
    }
    
 
    public  void mergeSort( int [ ] a ) {
        int [ ] tmpArray = new int[ a.length ];
        mergeSort( a, tmpArray, 0, a.length - 1 );
    }
    
    /**
     * Internal method that makes recursive calls.
     * @param a an array of int items.
     * @param tmpArray an array to place the merged result.
     * @param left the left-most index of the subarray.
     * @param right the right-most index of the subarray.
     */
    private void mergeSort( int [ ] a, int [ ] tmpArray,
            int left, int right ) {
        if( left < right ) {
            int center = ( left + right ) / 2;
            mergeSort( a, tmpArray, left, center );
            mergeSort( a, tmpArray, center + 1, right );
            merge( a, tmpArray, left, center + 1, right );
        }
    }
    
    /**
     * Internal method that merges two sorted halves of a subarray.
     * @param a an array of int items.
     * @param tmpArray an array to place the merged result.
     * @param leftPos the left-most index of the subarray.
     * @param rightPos the index of the start of the second half.
     * @param rightEnd the right-most index of the subarray.
     */
    private  void merge( int [ ] a, int [ ] tmpArray,
            int leftPos, int rightPos, int rightEnd ) {
        int leftEnd = rightPos - 1;
        int tmpPos = leftPos;
        int numElements = rightEnd - leftPos + 1;
        
        // Main loop
        while( leftPos <= leftEnd && rightPos <= rightEnd )
            if( a[ leftPos ] <= ( a[ rightPos ] )  )
            {
                tmpArray[ tmpPos++ ] = a[ leftPos++ ];
                wichtel.zuWeltPositionLaufen(leftPos);
                vertauscheMauerElemente(leftPos,rightPos);
            }
            
                
            else
                tmpArray[ tmpPos++ ] = a[ rightPos++ ];
                
                
        
        while( leftPos <= leftEnd )    // Copy rest of first half
            tmpArray[ tmpPos++ ] = a[ leftPos++ ];
            
        
        while( rightPos <= rightEnd )  // Copy rest of right half
            tmpArray[ tmpPos++ ] = a[ rightPos++ ];
            
        
        // Copy tmpArray back
        for( int i = 0; i < numElements; i++, rightEnd-- )
            a[ rightEnd ] = tmpArray[ rightEnd ];
    }

jetz muss ich noch die methoden einfügen dass der Wichtel an den richtigen stellen (denk mal das ist während dem main loop) zu dem richtigen Arrayelemt läuft und den Sortiervorgang graphisch darstellen kann.
Also ich muss die methoden dass er zu dem jeweiligen Mauerelment läuft , das gerade sortiert wird einfügen und die Methode dass er es vertauscht.
Bitte um hilfe

PS:Falls noch jemand Lust hat mir den Mergsort anhand von diesem code genauer zu erklären wäre ich ihm sehr dankbar.
Ich hab ihn zwar grob verstanden bloß ich habe noch einen zweiten PseudoCode gefunden, der war viel länger und hatte nur 2 methoden drin und war auch der mergesort.
Alt Heute
Hardware Bot
Computer Informationen
 
Diese Werbung wird registrierten
Mitgliedern nicht angezeigt.
Werden Sie noch heute kostenlos Mitglied
auf PCMasters.de
Standard Weitere Informationen

hardware forum Neue Frage stellen?
Kurze Zusammenfassung der Frage:
Bitte wählen Sie eine Kategorie:
Mailadresse:
Ihre Frage:
Ihre Frage wird als Gast gespeichert. Sollte eine Antwort im Forum erfolgen, bekommen Sie diese per Email zugeschickt.


Antispam, bitte die folgende Aufgabe lösen: 
 
Um auf dieses Thema zu ANTWORTEN
bitte sich zuerst » hier kostenlos registrieren!!

Antwort

Tags: , , ,

Ähnliche Tags: , ,


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Kann mich nicht entscheiden: Java oder C++ ? VirusX GFX, Webdesign und Programmierung 5 03.10.2011 16:24
Java Platform SE binary funktioniert nicht mehr sLide Anwendungssoftware 6 25.02.2011 23:13
Java anzeigeprobleme stffn Anwendungssoftware 1 10.11.2010 19:42
Java Probleme Vista 64 BIT Mexx8828 Anwendungssoftware 3 14.07.2010 14:20
Java Editor Problem Thomas Kunz Anwendungssoftware 5 05.05.2010 18:30
Java setz sich nach Browserstart zurück noobichen Anwendungssoftware 2 01.04.2008 09:25
Java mit IE wizo666 Anwendungssoftware 1 21.03.2008 22:06
Java geht mit Internet Explorer nicht ToyotaSupra Anwendungssoftware 0 09.02.2008 13:26


Sie betrachten gerade: Java Mergesort graphisch darstellen


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:29 Uhr.



Im PC Forum registrieren