Ankündigung

Einklappen
Keine Ankündigung bisher.

java sortierungsproblem..

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    java sortierungsproblem..

    Das soll ein sortieralgorithmus werden der eine liste in nem array nach größe ( distanzen) sortiert und wieder in eine liste umwandelt... beim ersten versuch klappt das auch, allerdings kommt beim erneuten aufruf ( bzw sortierung der distanzen zu einem anderen ort) ein error und bricht quasi ab. woran könnte das liegen?? BITTE HELP :D

    public void sort (Station station)
    {
    ListElement helper = head;
    int p = 0;
    ListElement[] listArray = new ListElement[length];
    int i=0;
    while (i < length && (helper != null))
    {
    listArray[i] = helper;
    i++;
    helper = helper.getNext();
    }
    i=0;
    while (i

    #2
    ist das der komplette code? Da seh ich alleine schon n paar Klammerfehler.
    /edit nein Klammern stimmen doch

    Kommentar


      #3
      nein is nur ein teil des codes an dem es liegen muss.. schliesslcih funktioniert die methode ja einmal, nur beim umsortieren eines bereits sortierten kommen die fehler auf..

      Kommentar


        #4
        hätte predicted, dass du i wieder auf 0 setzen musst, was du ja getan hast, finde den Fehler auf die Schnelle auch nicht.

        Kommentar


          #5
          boah alter wenn ich sowas schreiben würde gäbe es von meinem chefentwickler gleich mal ne ohrfeige..

          Kommentar


            #6
            http://pastebin.com/m3cc967b4

            hf

            Kommentar


              #7
              @Shinichi
              - der code sieht erstmal gut aus, aber sollte ich mich jetzt nicht verguckt haben, bekommst du einen error wenn die liste nur 1 element hat, dann greifst du nämlich im ersten aufruf auf methoden von head.getnext() zu, das dann ja aber null ist

              @shaxx
              - warum sortierst du die liste nicht gleich, und lässt dieses aufwändige umschichten weg?
              - nimm den algorhitmus von Shinichi, wenn dir bubblesort schnell genug ist

              Kommentar


                #8
                warum nicht einfach Arrays.sort(...) verwenden? hab jetzt gerade leider nicht im Kopf welchen Algo der verwendet, tippe aber mal auf Heap. Der sollte ja schnell genug sein :P

                Kommentar


                  #9
                  Spriggan postete
                  warum nicht einfach Arrays.sort(...) verwenden? hab jetzt gerade leider nicht im Kopf welchen Algo der verwendet, tippe aber mal auf Heap. Der sollte ja schnell genug sein :P
                  this!

                  Kommentar


                    #10
                    Spriggan postete
                    warum nicht einfach Arrays.sort(...) verwenden? hab jetzt gerade leider nicht im Kopf welchen Algo der verwendet, tippe aber mal auf Heap. Der sollte ja schnell genug sein :P
                    weil er eine liste hat.., er könnte vllt schauen ob er Collections.sort verwenden kann, dafür brauch er aber erstmal einen comparator

                    Kommentar


                      #11
                      1. er schreibt oben dass er eine liste in nen array sortiert und das dann wieder zu ner liste machen will
                      2. kann man einfach .toArray() aufrufen und schwupps is die liste in nem array

                      €: hab mal nachgeschaut. Collections.sort(...) macht genau das gleiche wie wenn man Liste->Array Arrays.sort() Array->Liste von Hand macht. Aber hattest recht. so wärs noch schneller sortiert(zumindest wenn man die Tippzeit betrachtet)

                      Kommentar


                        #12
                        du hast recht, wusst ich auch noch nicht dass collections.sort das so macht. da wurde wohl speicherplatz für geschwindigkeit geopfert.

                        trotzdem, er hat keine primitiven typen die er einfach ins array packen könnte, woher soll Arrays.sort() wissen wonach es sortieren soll?
                        er könnte höchstens die distance an sich ins array packen und sortieren lassen, das bringt ihm aber mal gar nichts. soll heißen: nen comparator bräuchte er sowieso, oder er schreibt die sache selbst.
                        und wenn er schon nen comparator hat, kann er auch gleich Collections.sort() nehmen.. ;)

                        Kommentar


                          #13
                          was übergibst du denn der sort methode nen station objekt ? deiner beschreibung nach müsste man aber doch vermuten, dass man nen listen objekt übergibt, oder nicht?

                          Kommentar


                            #14
                            Für listen nutzt man iterators, nur mal so am rande.

                            comparator definieren, generischen sortieralgorithmus schreiben (oder vorhandenen nutzen) -> fertig

                            was du da machst ist echt nicht gut.

                            Kommentar

                            Lädt...
                            X