private void button1_Click(object sender, System.EventArgs e)
{
// Listboxen löschen
listBox1.Items.Clear();
listBox2.Items.Clear();
// Anzahl aus TextBox einlesen
int anzahl=int.Parse(textBox1.Text);
// Feld erzeugen
int[] feld=new int[anzahl];
// Feld mit Zufallszahlen (ohne InfoKursTools) füllen
// und in 1. Listbox ausgeben
Random randomNumbers=new Random();
for(int i=0;i<feld.Length;i++)
{
feld[i]=randomNumbers.Next(10000);
listBox1.Items.Add(feld[i].ToString());
}
// eigentliches Sortierverfahren:
// Bubble Sort:
// Idee: wenn vorheriges Element größer als nachfolgendes vertausche!
// vertauscht gibt an, ob innerhalb der do-while-Schleife vertauscht wurde
bool vertauscht;
do
{
// bisher wurde noch nichts vertauscht => deshalb: false
vertauscht=false;
// Schleife vom ersten bis zum vorletzten Element
for(int i=0;i<=feld.Length-2;i++) // alternativ: i<feld.Length-1
{
// Wert an Position i ist größer als der an Position i+1
// => vertauschen!
if(feld[i]>feld[i+1])
{
int hilf=feld[i];
feld[i]=feld[i+1];
feld[i+1]=hilf;
// jetzt wurde vertauscht => deshalb: vertauscht=tru
vertauscht=true;
}
}
}
while(vertauscht==true); // oder kurz: while(vertauscht)
// Ausgabe des sortieren Feldes in 2. Listbox
for(int i=0;i<feld.Length;i++)
{
listBox2.Items.Add(feld[i].ToString());
}
}