Algoritmos de Ordenação

Os algoritmos de ordenação são processos para arranjar um conjunto de informações semelhantes numa ordem crescente ou decrescente. Eles são utilizados em quase todos os programas de banco de dados, compiladores, interpretadores e sistemas operacionais. Destes métodos, existem três gerais: por troca (bolha), por seleção, por inserção.

1. Ordenação Bolha (O Demônio das Trocas)

O Método de ordenação bolha é um método de ordenação por trocas e é o método mais conhecido e mais difamado por ser uma das piores formas ordenações.

Resumo: Troca-se os elementos fora de ordem, até que o vetor esteja ordenado.
Bolha (item : vetor, i : inteiro)

Variaveis
	a, b : inteiro
	t : vetor

Inicio
	Para a = 1 ate i-1 faca
		Para b = a ate 1 faca
			Se item[b-1] > item[b] entao faca
				t <- item[b-1]
				item[b-1] <- item[b]
				item[b] <- t
			Fim Se
		Fim Para
	Fim Para
Fim
2. Ordenação por Seleção

Este método encontra o elemento de menor valor e troca-o com o primeiro elemento, depois, no restante do vetor, encontra o menor valor e troca-o pelo segundo e sucessivamente.

Selecao (item : vetor, i: inteiro)

Variaveis
	a, b, c : Inteiro
	mudou : Booleano
	t : vetor

Inicio
	Para a = 0 ate i-2 faca
		Mudou <- falso
		c <- a
		t <- item[a]
		Para b = a+1 ate i-1 faca
			Se item[b] < t entao faca
				c <- b
				t <- item[b]
				mudou <- verdadeiro
			Fim se
		Fim para
		Se mudou entao faca
			Item[c] <- item[a]
			Item[a] <- t
		Fim se
	Fim para
Fim
3. Ordenação por Inserção

Este método ordena os dois primeiros membros do vetor. Em seguida, insere o terceiro membro na sua posição ordenada em relação aos outros dois membros, depois insere o quarto, e assim por diante, até que todo o vetor tenha sido ordenado.

Insercao (item : vetor, i : inteiro)

Variaveis
	a, b : inteiro
	t : vetor

Inicio
	Para a = 1 ate i-1 faca
		t <- item[a]
		b <- a-1
		Enquanto b >= 0 e t < item[b] faca
			Item[b+1] <- item[b]
			b <- b-1
		Fim enquanto
		Item[b+1] <- t
	Fim para
Fim

Exemplo: controle de arquivos em Pascal: maquinas.pas

[voltar]