Métodos de Ordenação de Vetores.
Autor: Eduardo Lima
Adaptação: Adriano Oliveira
você vai aprender
Organizar seus vetores.
pré-requisitos
Lógica de programação básica com C#.
Dicas para iniciantes em algoritimos.
explicação inicial
Nesse tutorial você irá aprender três métodos diferentes de ordenações de vetores.
São eles: Inserção, Seleção e Bolha.
método de inserção
Esse método organiza o vetor na forma em que o percorre da esqueda para a direita deixando os elementos da esquerda ordenados. O método de ordenação por inserção é eficiente em um vetor com menos elementos.
Veja como funciona a ordenação:
Veja o código desse modelo:
static void Main(string[] args) { int[] vetor = { 6, 5, 3, 1, 8, 7, 2, 4 }; int j, atual; for (int i = 0; i < vetor.Length; i++) // Imprimir o vetor não ordenado Console.Write(vetor[i] + " "); for (int i=1; i < vetor.Length; i++) { atual = vetor[i]; j = i; while((j>0)&&(vetor[j-1]> atual)) { vetor[j] = vetor[j - 1]; j = j - 1; } vetor[j] = atual; } Console.WriteLine(); for (int i = 0; i < vetor.Length; i++) //Imprimir vetor ordenado Console.Write(vetor[i] + " "); }
método seleção
Esse método de ordenação tem como função passar o menor elemento do vetor para a primeira posição, o segundo para a segunda posição e assim por diante.
Veja como funciona a ordenação:
Veja o código desse modelo:
static void Main(string[] args) { int[] vetor = { 6, 5, 3, 1, 8, 7, 2, 4 }; int aux, min; for (int i = 0; i < vetor.Length; i++) // Imprimir o vetor não ordenado Console.Write(vetor[i] + " "); for(int i=0;i < vetor.Length - 1; i++) { min = i; for (int j = i + 1; j < vetor.Length; j++) { if (vetor[j] < vetor[min]) { min = j; } } if(min != i) { aux = vetor[min]; vetor[min] = vetor[i]; vetor[i] = aux; } } Console.WriteLine(); for (int i = 0; i < vetor.Length; i++) //Imprimir vetor ordenado Console.Write(vetor[i] + " "); }
método bolhamétodo bolha
O método bolha é considerado o mais simples, tem como função percorrer o vetor várias vezes e fazer com que o elemento de maior valor vá para o topo.
Veja como funciona a ordenação:
Veja o código desse modelo:
static void Main(string[] args) { int[] vetor = { 6, 5, 3, 1, 8, 7, 2, 4 }; int aux; for (int i = 0; i < vetor.Length; i++) // Imprimir o vetor não ordenado Console.Write(vetor[i] + " "); for(int i= vetor.Length - 1; i >= 1; i--) { for(int j=0;j< i; j++) { if(vetor[j] > vetor[j + 1]) { aux = vetor[j]; vetor[j] = vetor[j + 1]; vetor[j + 1] = aux; } } } Console.WriteLine(); for (int i = 0; i < vetor.Length; i++) //Imprimir vetor ordenado Console.Write(vetor[i] + " "); }
Comentários