Sortare prin metoda de selectie
Muste Petrica V.
Clasa a XI-a C
Profesor :Kabai Timea
Teorie
• In caz de ordonare crescatoare pornind de la primul element se cauta valoarea minima din tablou,aceasta se aseaza pe prima pozitie printr-o interschimbare intre elementul de pe prima pozitie si elementul minim,apoi se reia algoritmul pornind de la a 2a pozitie si se cauta minimul intre elementele a[1] a[2]->a[n] acesta se interschimba cu al 2lea daca este cazul si procedeul se continua pana la ultimul element
Problema
• Sa se ordoneze crescator un vector A prin metoda de selectie.
Exemplu
N=5
i= 1 2 3 4 5
5 0 8 7 3
Pasul (i) Tabloul A Minimul Pozitia
minimului
Noul
tabloul
1 5 0 8 7 3 0 2 0 5 8 7 3
2 0 5 8 7 3 3 5 0 3 8 7 5
3 0 3 8 7 5 5 5 0 3 5 7 8
4 0 3 5 7 8 8 5 0 3 5 7 8
5 0 3 5 7 8
Programul in limbajul PascalProgram metoda_selectiei;
Type vector=array [1..100] of integer;Var a:vector;
i,j,min,aux:integer;Begin
Write (‘n=‘);readln(n);For i:=1 to n do begin
Write (‘a[‘,i,’]=‘);readln(a[i]);End;
For i:=1 to n-1 domin:=a[i];
For j:=i+1 to n doIf min>a[j] then begin
min:=a[j];K:=j;End;
If min<> a[i] then beginAux:=a[i];A[i]:=a[k];A[k]:=aux;
End;For I :=1 to n do
Write (a[i], ‘ ‘);Readln;
End.