Selection-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:
	// Selection Sort:
	// Idee: suche Position des Minimums und setze es im Feld nach vorne
	for(int i=0;i<=feld.Length-2;i++)
	{
		int minpos=i;
		for(int j=i+1;j<=feld.Length-1;j++)
		{
			// Wert an der aktuellen Feldposition j ist kleiner als
			// Wert an Position minpos => neues Minimum
			if(feld[j]<feld[minpos])
			{
				minpos=j;
			}
		}

		// vertausche Wert an Position i mit Wert an Position minpos
		int hilf=feld[i];
		feld[i]=feld[minpos];
		feld[minpos]=hilf;
	}

	// 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