Selection Sort
Selection Sort
Selection Sort
" I PB&&E
1 de 4
d VSt PcB&&r
3.3.
1. 2.
Algoritmo
Iniciar achando o menor elemento. Trocar o menor elemento pelo primeiro. Parte do vector est agora ordenada. 3. 4. Achar o menor elemento da parte no ordenada. Troque com o primeiro elemento da parte no ordenada. Adicionar mais um nmero parte ordenada. 5. 6. Aumentar o tamanho da parte ordenada em um elemento. Voltar ao passo 3. Pode-se parar quando a parte no ordenada tem apenas um nmero, sendo este o maior elemento.
3.4.
2 de 4
w PB&&
yx v x y x yx v 765x$&4 210($&$! w u
3.5. Implementao em C++
void SelectionSort(int array[], int num_elem) { for (int i = 0; i < num_elem -1; i++) { int min = i; // ndice do elemento a ordena for (int j = i; j < num_elem -1; j++) // Clculo do mnimo { if (a ray[j] < array[min]) { min = j; } } int temp = array[min]; array[min] = array[i]; array[i] = temp; } }
3.6.
Exemplo
Array com 10 elementos a ordenar por ordem crescente. 10
[0]
8
[1]
6
[2]
2
[3]
16
[4]
4
[5]
18
[6]
11
[7]
14
[8]
12
[9]
8
[1]
6
[2]
10
[3]
16
[4]
4
[5]
18
[6]
11
[7]
14
[8]
12
[9]
4
[1]
6
[2]
10
[3]
16
[4]
8
[5]
18
[6]
11
[7]
14
[8]
12
[9]
4
[1]
6
[2]
10
[3]
16
[4]
8
[5]
18
[6]
11
[7]
14
[8]
12
[9]
x ywxy w w $D$&$G7CFDCBA&!79
3 de 4
p hez PoB&&x
4
[1]
6
[2]
5
[3]
16
[4]
10
[5]
18
[6]
11
[7]
14
[8]
12
[9]
4
[1]
6
[2]
5
[3]
10
[4]
16
[5]
18
[6]
11
[7]
14
[8]
12
[9]
3.7.
Resumo
Mtodo de ordenao, na qual so procurados sucessivos elementos que se encontram fora de ordem, retira o elemento da lista e depois insere o elemento de forma ordenada. Este t po de ordenao em pequenas listas rpido, sendo extremamente lento para grandes listas.
4 de 4