Bubble-Sort Quelltext:

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());
	}
}


Copyright (C) 2006 - K.R. Wittye