Elmélet:


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[02;
            
a[13;
            
a[25;
            
a[39;
            
a[41;
            
a[511;
            int 
méret a.Length;
            int 
min;
            int 
cserélő;
            int 
helye;
            int 
i;
            string 
st "";
            int 
0;
//***************************************************************************
            
for (s 0s <méret - 1s++)
            {

                st 
st + ", " + a[s];

            
}

            Console.WriteLine(
"Rendezetlen:"  + st);

//***************************************************************************
            
for (i 0i <méret - 1i++)// A lépések
            
{
                min 
a[i];
                
helye i;
                for 
(int in <méret - 1n++) //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 0s <méret - 1s++)
                {

                    st 
st + a[s] + ", ";
                    
                
}

                Console.WriteLine(i + 
+  ". " + st);
            
}

            Console.ReadKey()
;
        
}
    }
}
//*************************************************************************

Második feladat


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 
rendezés2
{
    
class Program
    {
        
struct adatok
        {
            
public string név;
            public 
DateTime szülDat;
            public int 
magasság;
            public int 
matek;
        
}
       
//*************************************************************************

       
        
static void Main(string[] args)
        {
            
#region beolvas;
            adatok[] tomb 
= new adatok[20];
            string 
sor;
            int 
0;
            
StreamReader olvasó = new StreamReader("osztaly.dat");
            while 
(!olvasó.EndOfStream)
            {
                sor 
olvasó.ReadLine();
                string
[] sp sor.Split('\t');//Itt szedjük szét a sort
                
tomb[i].név sp[0];
                
tomb[i].szülDat Convert.ToDateTime(sp[1]);
                
tomb[i].magasság Convert.ToInt32(sp[2]);
                
tomb[i].matek Convert.ToInt32(sp[3]);
                       
i++;
            
}
            olvasó.Close()
;
            
i--;
            #endregion
            
//....................................................................................
            
#region sorba_rendezés;
            adatok tároló
;

            int 
j;
            for 
( j j >0j--) { 
            
int max_jegy tomb[0].matek;
            int 
helye 0;
            
            for 
(int 0u <ju++) {
                
if (tomb[u].matek > max_jegy) {
                    max_jegy 
tomb[u].matek;
                    
helye u;
                

            }

            tároló 
tomb[j];
            
tomb[j] tomb[helye];
            
tomb[helye] tároló;
            
}

            
for (j ij >0j--) {
                Console.WriteLine(
"Név:" + tomb[j].név + '\t' " Matek jegy:" + tomb[j].matek);
            
}
                
            Console.ReadKey(
true);

            #endregion


        
}
    }
}

Colorized by: CarlosAg.CodeColorizer