# data[].attributes.body
La fiecare pas să se determine poziţia i a celui mai mic element al secventei a[i+1], a[i+2], . . . , a[n-1].
• la prima parcurgere valoarea minimală se deplasează către prima poziţie
• la a doua parcurgere următorul element ca valoare va ocupa a doua poziţie, etc.

Secvență de cod:
bool sortat = false;
for(i=1; i<=n-1 && sortat==false; i++){
for(j=i+1; j<=n; j++)
if( a[i] > a[j] ) {
aux = a[i];
a[i] = a[j];
a[j] = aux;
}
sortat = true;
}

# data[].attributes.attachment_link.title
Sortarea unui vector prin Selectia minimului

# data[].attributes.body
Ideea de baza a sortarii prin metoda bulelor este in a parcurge tabloul de la stanga spre dreapta, fiind comparate elementele alaturate a[ i ] si a[i+1]. Daca vor fi gasite 2 elemente neordonate valorile lor vor fi interschimbate. Parcurgerea tabloului de la stinga spre dreapta se va repeta atat timp cat nu vor fi intalnite elemente neordonate.

Secvență de cod:
do {
schimbat = 0;
for(i = 0; i < n-1; i++) //parcurgem vectorul
if(a[i] < a[i+1]) //daca valoarea i din vectorul a este
//mai mica decat cea de pe pozitia i+1
{ //interschimbare
aux = a[i];
a[i] = a[i+1];
a[i+1] = aux;
schimbat = 1;
}
}while(schimbat);

# data[].attributes.attachment_link.title
Bubble-sort with Hungarian ("Csángó") folk dance

# data[].attributes.body
Spre deosebire de alti algoritmi de sortare, sortarea prin insertie este folosita destul de des pentru sortarea tablourilor cu numar mic de elemente. De exemplu, poate fi folosit pentru a imbunatati rutina de sortare rapida.
Tabloul este impartit imaginar in doua parti - o parte sortata si o parte nesortata. La inceput, partea sortata contine primul element al tabloului si partea nesortata contine restul tabloului. La fiecare pas, algoritmul ia primul element din partea nesortata si il insereaza in locul potrivit al partii sortate.

Secvență de cod:
for (i = 1; i < n; i++) {
j = i;
while (j > 0 && a[j - 1] > a[j]) {
aux = a[j];
a[j] = a[j - 1];
a[j--] = aux;
}
}

# data[].attributes.body
Algoritmul shell sort este o generalizare a algoritmului insertion sort. La algoritmul insertion sort, pentru a insera un nou element în lista de elemente deja sortate, se deplasează fiecare element cu câte o poziţie spre dreapta atât timp cât avem elemente mai mari decât el. Practic fiecare element înaintează spre poziţia sa finală cu câte o poziţie.

Secvență de cod:
for (k = 0; k < 16; k++) //parcurgem fiecare limita
{
h = cols[k];
for (i = h; i < n; i++) //insertion sort
{
v = a[i];
j = i;
while (j >= h && a[j-h] > v) //crescator
{
a[j] = a[j-h];
j = j - h;
}
a[j] = v;
}
}

# data[].attributes.attachment_link.title
Shell-sort with Hungarian (Székely) folk dance

# data[].attributes.attachment_link.description
Created at Sapientia University, Tirgu Mures (Marosvásárhely), Romania. Directed by Kátai Zoltán and Tóth László. In cooperation with "Maros Művészegyüttes", Tirgu Mures (Marosvásárhely), Romania. Choreographer: Füzesi Albert. Video: Lőrinc Lajos, Körmöcki Zoltán. Supported by "Szülőföld Alap", MITIS (NGO) and evoline company.

# data[].attributes.body
Se foloseşte un vector auxiliar b unde în b[i] se păstrează numărul de elemente din vectorul a care sunt mai mici ca a[i]. Pentru a nu număra de două ori acelaşi element se folosesc două for-uri cu indicii de la 1 la n-1 respectiv i+1, . . . , n. Apoi fiecărui element a[i] îi va corespunde poziţia b[i] în vectorul c.

Secventa de cod:

for(i=1; i<=n-1; i++){
for(j=i+1; j<=n; j++){
if( a[i] < a[j] ){
b[j] = b[j]+1;
}
else{
b[i] = b[i]+1;
}
}
for(i=1; i<=n; i++) {
x=b[i]; c[x]=a[i]; // sau c[b[i]]=a[i];
}
for(i=1; i<=n; i++){
a[i] = c[i];

# data[].attributes.attachment_link.title
Sorting Algorithm | Counting Sort - step by step guide

# data[].attributes.attachment_link.description
In this video we will learn about counting sort. It is an algorithm in which we don't compare two elements while sorting. Counting Sort code link https://www.dyclassroom.com/sorting-algorithm/counting-sort Algorithm Playlist https://www.youtube.com/playlist?list=PLG6ePePp5vvYVEjRanyndt7ZSqTzillom Data Structure Playlist https://www.youtube.com/playlist?list=PLG6ePePp5vvbSpe0TuFxRwC6YT66Ty8Vx if you find my videos interesting and enjoy watching them then please give a thumbs up, share and subscribe my channel and comment.