Ordenação de dados

507 palavras 3 páginas
Ordenação de Dados
Muitas vezes é necessária a ordenação dos dados em uma estrutura (vetores, listas ligadas ou arquivos). Dependendo da forma como os dados estão armazenados, métodos de ordenação específicos são mais indicados. A ordem da ordenação acontece segundo uma chave (normalmente um campo dos dados contidos na lista). A ordenação pode ser crescente ou decrescente. Dados (records) Chave

Lista

Categorias de algoritmos de ordenação:
Troca - os algoritmos de troca utilizam a troca de posições dos dados: • Bolha – troca simples • Shakesort – troca alternada Inserção - os algoritmos de inserção removem, deslocam e inserem elementos da estrutura: • Direta • Shellsort Seleção - a ordenação por seleção isola um elemento posicionando-o na sua posição ordenada: • Direta • Heapsort - árvore Intercalação - a ordenação por intercalação utiliza a idéia de particionar em blocos a estrutura intercalando esses blocos: • MergeSort Partição ou Segmentação - a ordenação por partição baseia-se na subdivisão da lista em listas cada vez menores: • Quicksort

Algoritmos:
Implementações de alguns tipos de algoritmos de ordenação são apresentados nessa seção. As declarações necessárias para os testes das rotinas de ordenação estão após as implementações.

Troca
Esses algoritmos comparam dois a dois elementos vizinhos na lista e se a ordem não estiver correta os elementos são trocados.
#define MELHORADO #define VISUAL #ifndef MELHORADO void bolha(TVet v, int n) { int i, j; Dado x; for (i=1; i0; j--) if (v[j-1].chave > v[j].chave) { x=v[j-1]; v[j-1]=v[j]; v[j]=x; } #ifdef VISUAL mostraDados(v, n); #endif } } #else

void bolha(TVet v, int n) { int i, j; Dado x; bool ordenado; i=1; ordenado=false; while (!ordenado && i=i; j--) if (v[j-1].chave > v[j].chave) { x=v[j-1]; v[j-1]=v[j]; v[j]=x; ordenado=false; } #ifdef VISUAL mostraDados(v, n); #endif i++; } } #endif

Inserção
Método direto - dado uma lista para ordenação, percorrer elemento por elemento deslocando os

Relacionados

  • Ordenação de dados
    1623 palavras | 7 páginas
  • Ordenação de dados
    4055 palavras | 17 páginas
  • ORDENAÇÂO DE DADOS
    1549 palavras | 7 páginas
  • Ordenaçao de dados
    2189 palavras | 9 páginas
  • Ordenação de Dados
    915 palavras | 4 páginas
  • Ordenação de dados
    1018 palavras | 5 páginas
  • APS ORDENAÇAO DE DADOS
    4300 palavras | 18 páginas
  • Algorítmos de ordenação de dados
    2591 palavras | 11 páginas
  • Pesquisa e Ordenação de dados
    775 palavras | 4 páginas
  • Pesquisa e ordenação de dados
    474 palavras | 2 páginas