gnome sort

4
Componentes: Componentes Fernanda casais Janine

Upload: marcilio-oliveira

Post on 04-Aug-2015

52 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Gnome Sort

Componentes:

Componentes Fernanda casais

Janine

Page 2: Gnome Sort

Algoritmo similiar ao Insertion sort com a diferença que o Gnome sort leva um elemento para sua posição correta, com uma seqüencia grande de trocas assim como o Bubble sort. O algoritmo percorre o vetor comparando seus elementos dois a dois, assim que ele encontra um elemento que está na posição incorreta, ou seja, um número maior antes de um menor, ele troca a posição dos elementos, e volta com este elemento até que encontre o seu respectivo lugar.

Page 3: Gnome Sort

public void gnomeSort() { int i = 1, troca = 0; while(i < v.length) { if (i == 0 || v [i-1] <= v [i]) i++; else { troca = v [i - 1]; v[i - 1] = v[i]; v[i] = troca; i --; } }

}

Page 4: Gnome Sort

Exemplo:

12

9

7

6

4

9

7

6

4

12

7

6

4

9

12

6

4

7

9

12

4

6

7

9

12

O nº 12 é maior e está antes do nº 9 , então foi feita a troca de posições dos elementos e o algoritmo volta com o 12 fazendo a comparação dos elementos dois a dois e inserindo-o no lugar certo, como mostra a figura.

Após iniciamos a comparação do 7 com o 6 , trocamos as posições e o algoritmo volta com o 7 até inseri-lo na posição correta, deste maneira todos os elementos serão ordenados corretamente, como mostra a última tabela.