| 

.NET C# Java Javascript Exception

5
Wie kann man eine Liste in C# oder Java "durchmischen"?
News:
30.08.2009
elor 103 2 5
3 Antworten
9
Dazu gibt es Algorithmen die von Donald E. Knuth entwickelt wurden. Eine moderne effiziente Version dieses Algorithmus ist der Fisher-Yates Shuffle Algorithmus.

Eine andere Möglichkeit wie dies mit C# geschehen kann zeigt dieser Artikel.
30.08.2009
gfoidl 9,4k 3 5
6
Laut den API Docs ist wird dabei genau der Fisher-Yates Shuffle verwendet (Durstenfeld's version, siehe wiki)
Für Java sollte man also am besten die Collections-Methode verwenden
micha_zeller 29.09.2009
2
Wie wäre es mit einem Bogosort mittels generischer Delegaten in C#?

// liste Erzeugen
string[ ] strings = new string[ ] { "Eins", "Zwei", "Drei", "Vier", "Fünf" };
List<string> items = new List<string>();
items.AddRange(strings);

// Pseudozufallszahlengenerator basteln
Random rand = new Random(DateTime.Now.Millisecond);

// Generischer Delegat
//public delegate int Comparison<T>(T x, T y)
items.Sort(delegate(string s1, string s2) {
// Sortierung wird durch zufall bestimmt.
return rand.Next(-1, 2);
});

Ausgabe:


foreach (string item in items)
Console.WriteLine(item);


Eins
Zwei
Drei
Vier
Fünf

Nach og. sortierung (beispielsweise):

Fünf
Drei
Eins
Vier
Zwei
07.09.2009
cessor 61 1 2

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH