A kiválasztásos rendezés egy egyszerű, négyzetes
időben futó rendezési algoritmus. Az alapötlet az, hogy kiválasztjuk a
rendezendő tömb legkisebb elemét, és kicseréljük a tömb legelső elemével. Ezzel
a tömb első eleme megkapta a végső értékét, és a feladat egyszerűsödött a tömb
maradékának rendezésére. Az algoritmust addig ismételjük a maradék tömbön, amíg
csak egy elem marad.
animációk
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace rendezés1
{
class Program
{
static void Main(string[] args)
{
int[] a = new int[6];
a[0] = 2;
a[1] = 3;
a[2] = 5;
a[3] = 9;
a[4] = 1;
a[5] = 11;
int méret = a.Length;
int min;
int cserélő;
int helye;
int i;
string st = "";
int s = 0;
//***************************************************************************
for (s = 0; s <= méret - 1; s++)
{
st = st + ", " + a[s];
}
Console.WriteLine("Rendezetlen:" + st);
//***************************************************************************
for (i = 0; i <= méret - 1; i++)// A lépések
{
min = a[i];
helye = i;
for (int n = i; n <= méret - 1; n++) //Minimumkeresés
{
if (a[n] < min)
{
min = a[n];
helye = n;
}
}
cserélő = a[i];// Csere
a[i] = a[helye];
a[helye] = cserélő;
st = "";
for (s = 0; s <= méret - 1; s++)
{
st = st + a[s] + ", ";
}
Console.WriteLine(i + 1 + ". " + st);
}
Console.ReadKey();
}
}
}
//*************************************************************************