Array Sortieren



  • Warum nicht?
    Die Sortierung die du angegeben hast entspricht doch genau der alphabetischen Ordnung.
    Sortieralgorithmen musst du dir übrigens nicht ansehen, da die natürlich im Framework enthalten sind (Array.sort).



  • Genau Jockelx, mein reden...

    String[] myIntArray = new String[7] { "10:34", "22:33", "12:01", "10:12", "10:04", "11:07", "15:24" };
    
    Console.WriteLine("\nUnsortiert:\n");
    
    for (int i = 0; i < 7; i++)
    {
           Console.WriteLine(myIntArray[i].ToString());
    }
    
    Array.Sort(myIntArray);
    
    Console.WriteLine("\nSortiert:\n");
    for (int i = 0; i < 7; i++)
    {
           Console.WriteLine(myIntArray[i].ToString());
    }
    


  • falls du nicht einfach eine vorhandene Funktion nutzen willst kannst du doch auch zeitweise einfach die ':' ausschneiden, int.parsen mit einem Sortieralgorythmus einfach sortieren, oder wenn es string bleiben soll die abfrage "if( string1.CompareTo(string2) > 0)" benutzen.



  • thx!



  • Mach doch daraus eine Liste von TimeSpan objekten und Sortiere diese 😃



  • Einfacher gehts noch mit der statischen Methode "Sort" in der Klasse "Array"

    String[] myArray = new String[] { "10:34", "22:33", "12:01", "10:12", "10:04", "11:07", "15:24" };
    
    Array.Sort(myArray);
    foreach (var array in myArray)
    {
        Console.WriteLine(array);
    }
    

    Wenn du DESC sortieren willst, kannst du myArray nochmal mit Reverse aufrufen:

    Array.Reverse(myArray);
    

    Update: upps wurde schon erwähnt, sry : )



  • Wettbewerb: Wer schreibt den aufwändigsten aber coolsten Code 😃



  • CSL schrieb:

    Wettbewerb: Wer schreibt den aufwändigsten aber coolsten Code 😃

    Geil 😃

    Und der Beitrag muss immer unter den ersten 5 bleiben, wir sind auf den besten Weg dahin... 😮

    Sortieren wir nicht das ganze Leben immer irgendetwas ??? 🕶



  • :=)

    Danke für all die Hilfen!

    Noch eine kleine Frage.
    Ich habe in einer ComboBox einträge wie:
    abcd
    efgh
    ioui
    lopd

    Das Problem ist:
    Es kommen doppelt, dreifach, vierfach etc. Einträge vor.
    Gibt es einen einfachen Befehl zum alle mehrfachen - gleichen - Einträge zu eliminieren, oder muss ich in 2 for schleifen durchrennen und das von Hand machen?

    Vielen Dank nochmals!



  • Hi, in diesem Fall ist Linq dein Freund

    String[] myArray = new String[] { "10:34", "10:34", "22:33", "22:33", "10:12", "10:04", "11:07", "15:24" };
    
    Array.Sort(myArray);
    
    //linqquery zum gruppieren von eintraegen
    var arrayGroup =
        from n in myArray
        group n by n into g
        select new { grouped = g.Key};
    
    foreach (var array in arrayGroup)
    {
        Console.WriteLine(array.grouped);
    }
    


  • @ Mario, nicht gruppieren, sondern duplikate entfernen

    deineListVonStrings.Distinct();



  • Firefighter schrieb:

    @ Mario, nicht gruppieren, sondern duplikate entfernen

    deineListVonStrings.Distinct();

    sauber, aber ich wollte am Wettbewerb teilnehmen :p

    CSL schrieb:

    Wettbewerb: Wer schreibt den aufwändigsten aber coolsten Code 😃



  • Schon klar, nur hat das ja nichts mit der Richtigkeit oder nicht Richtigkeit deines Posts zu tuen, gruppieren und duplikate entfernen sind zwei verschiedene Dinge.


Anmelden zum Antworten