[Java] Array sortieren aber nach der x-ten stelle

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Micro86, 21. März 2007 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 21. März 2007
    Array sortieren aber nach der x-ten stelle

    Ich habe mir ein Programm geschrieben, welches mir aus dem Quellcode meier Rapidshare Collectorsseite die links extrahiert.
    Jedoch stört mich die Unordnung der links.
    Deswegen möchte ich die Links gerne sortieren.

    die links sind ja wie folgt aufgebaut

    http://rapidshare.com/files/[8 stellige zahl]/[datei name]

    ich würde jetzt gerne mei array ordnen lassen aber erst nach dem fünften "/".
    ich habe leider beim googel nichts gefunden

    vieleicht hat jemand so was schon mal gemacht oder ne idee wie man es machen könnte.

    wen jemand ne idee hätte wäre das super

    Micro86
     
  2. 21. März 2007
    AW: Array sortieren aber nach der x-ten stelle

    Indem du einfach nach dem Zeichen suchst und dann anhand der Substrings sortierst? Keine große Sache...hier mal mit BubbleSort gemacht und ich habe jetzt nicht nach dem 5. "/" gesucht, sondern nach dem letzten.

    for (int i = 0; i < links.length; i++)
    {
    for (int j = i+1; j < links.length; j++)
    {
    if (links[j].substring(links[j].lastIndexOf("/")).compareTo(links.substring(links.lastIndexOf("/"))) < 0)
    {
    String link = links;
    links = links[j];
    links[j] = link;
    }
    }
    }
     
  3. 21. März 2007
    AW: Array sortieren aber nach der x-ten stelle

    du erstellst ein weiteres String-Array, was so groß ist, wie das String-array der Rapidshare-links.
    in dem befinden sich aber nur die "enden" der rapidshare-links, dann wird dieses array sortiert. gleichzeitig wird jedesmal, wenn sich die position eines elementes in diesem sortierarray ändert, auch die position des elementes im rapidshare-array mitverändert.

    Die Initialisierung habe ich mal mit ein wenig pseudo-code hingeschrieben

    Code:
    //Gehe alle links hier in der schleife durch um an die "enden" der strings zu kommen, also alles hinter dem letzten slash, mit length meine ich die feld/array-länge
    for(int i = 0; i<Rapidsharelinks.length; i++)
    {
     //gehe hier jeden link von hinten durch und such das auftreten des ersten '/'
     for(int j=Rapidsharelinks[i].length(); j>=0; j--)
     {
     //kontrolliere hier, ob er das slash gefunden hat, falls er es gefunden hat, teile das wort und füge den hinteren teil dem noch leeren array an der stelle i hinzu(das wird gebraucht, um hinterher das originalarray sortieren zu können)
     if (Rapidsharelinks[i].charat(j).equals('/')){
     Sortierarray[i] = Rapidsharelinks[i].substring(j);
     }
    }
    
    Wenn diese Initialisierung fertig ist, kann man mittels sortierverfahren das Sortierarray sortieren lassen. gleichzeitig beim sortieren, werden die Rapidshare-Arrays mitsortiert. dies kann dadurch geschehen, dass jede änderung gleichzeitig sowohl im sortierarray als auch im rapidshare-array vollzogen wird. wenn du ahnung vom coden hast, weißt du was ich meine. hier im board gibt es ne menge sortierbeispiele, zur not nimmst du bubblesort, für ich sag ma 100 rapidshare-files sollte das deine cpu nicht allzusehr ausbremsen

    MfG - Idefix
     
  4. 22. März 2007
    AW: Array sortieren aber nach der x-ten stelle

    astrein danke
    da war ich wohl nur etwas zu faul zu überlegen gestern abend
    so schwer ist das wirklich nicht

    ps: habe gerade meine zulassung bekommen *ggg
     
  5. 22. März 2007
    AW: Array sortieren aber nach der x-ten stelle

    [X] Erledigt

    ~Close~

    Knusperkeks
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.