Ergebnis 1 bis 3 von 3
  1. #1
    0x532d4d6f64 Avatar von Barny
    Registriert seit
    12.01.2007
    Beiträge
    630

    Standard Stapelspeicher durchsortieren

    Hiho!
    Ich habe vor kurzem einen Wordlistgenerator geschrieben und bin auf das Problem gestoßen, dass doch viele Wörter doppelt oder dreifach in der Liste vorhanden sind, was ja nicht unbedingt sein muss.
    Zur Lösung des Problems habe ich etwas gecodet, was mir diese Liste einmal komplett durchsortiert, und da wir in Informatik vor kurzem den Stapelspeicher oder auch Kellerspeicher durchgenommen haben, wollte ich diesen direkt einmal sinnvoll einsetzen.
    Hat auch gut geklappt, nur jetzt erhalte ich einen Fehler der eher mit meinem Array zusammenhängt ( ArrayIndexOutOfBoundsException ), welchen ich mir aber nicht erklären kann oder einfach nur blind bin.^^
    Vielleicht sieht ja einer von euch den Fehler und kann mir ein wenig auf die Sprünge helfen.^^
    Hier ist der Quellcode:


    Zum Verständnis meiner Kellerspeichers:
    Ich arbeite mir dem "First in last out"-Prinzip.
    pop() = Oberstes Element löschen
    top() = Oberstes Element abrufen
    push() = Element hinzufügen
    empty() = boolsche Abfrage ob noch was auf dem Stack liegt

    Ich bedanke mich schonmal im Vorraus für die Hilfe und ich hoffe mein Fehler ist nicht ganz so daneben. Ist heute echt warm und kann mich kaum konzentrieren, würde das aber trotzdem heute gerne fertig kriegen.

    mfg

    Barny

    ~~~ Blog ~~~
    ~~~ PGP-Key ~~~

  2. #2
    Der mit Anatidaephobie Avatar von blackberry
    Registriert seit
    11.07.2008
    Beiträge
    2.350

    Standard AW: Stapelspeicher durchsortieren

    Ich hoffe dir ist aber bewusst, dass es in Java für solche Aufgaben spezialisierte Datentypen wie Mengen (Set) gibt?

    Für gewöhnlich ist Laufzeit bei kleinen Programmen ja wohl keine Frage, aber wenn es hier um Wortlisten geht und du da wirklich viele davon hast, die du sortieren willst, dann wird das das mit Sicherheit doch einen bemerkbaren Laufzeitverlust geben.

    Wieso also nicht mit Sets? Kurz, schnell, elegant:


    Beispiel:
    Code:
    ● ● ● cat wordlist.txt 
    das
    ist
    ein
    Test
    wobei
    das
    "das"
    doppelt
    vorkommt
    ● ● ● javac main.java; java main
    das
    Test
    wobei
    ein
    vorkommt
    "das"
    ist
    doppelt

    PDFTT cr3w a.E. — ReiDC0Re, lindor, Sera, berry
    please do feed the trolls crew and elk
    Ehrenwerte Mitglieder im Ruhestand: OpCodez, SFX.
    "Was sich blackberry gerade denkt" — Vorsicht! Frei laufender Wahnsinn!
    Zitat von fuckinghot19: "PS: Blackberry ist auf FH der Trollkönig ^^."
    An dieser Stelle danke ich all meinen Fans und Hatern gleichermaßen ^.^

  3. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    Barny (28.06.2012)

  4. #3
    0x532d4d6f64 Avatar von Barny
    Registriert seit
    12.01.2007
    Beiträge
    630

    Standard AW: Stapelspeicher durchsortieren

    Danke für die Antwort, und wenn ich ehrlich bin war mir das bis jetzt nicht bewusst, aber man lernt ja nie aus.^^
    Das es evtl. zu Laufzeitverlusten kommen kann bei größeren Wortlisten war mir aber bewusst, und ich denke, dass deine Lösung optimal ist.

    mfg

    Barny

    //Edit:
    Habe es jetzt so umgesetzt und funktioniert 1a.
    Geändert von Barny (28.06.2012 um 20:19 Uhr)

    ~~~ Blog ~~~
    ~~~ PGP-Key ~~~

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •