Comparação entre os algoritmos de ordenação de dados: buble sort, quick sort, selection sort, inserction sort, shell sort e merge sort - em C

1955 palavras 8 páginas
/*
Exemplo Ordenação de Dados - C
Trabalho de Estrutura de Dados I
Parte I - Comparação entre os algoritmos de ordenação de dados: buble sort, quick sort, selection sort, inserction sort, shell sort e merge sort.

by Anderson Luiz Fernandes Perez - @2012

Este programa deverá ser utilizado como exemplo para a implementação da primeira parte do trabalho.

MUDAR PRA NUMERO DE COMPARAÇÕES E NÃO DE TROCAS

CRIAR VARIAVEL GLOBAL PRA SOMAR OS NUMEROS DA RECURSIVIDADE

*/

#include
#include
#include

#define T_BASE_DADOS 1000
#define MAX_RAND 500

#define DEBUG 0

/* Estruturas */ typedef struct lista lista;

struct lista{ int n; int trocas; lista *ant, *prox;
};

/* Cabeçalho das rotinas auxiliares */ int troca(int *a, int *b); void exibeLista(lista *plst); //void mostraVetor(int *dados);

void mostraResultado(int buble1, int buble2, int buble3, int selection1, int selection2, int selection3, int insertion1, int insertion2, int insertion3, int merge, int quick); void geraArquivoConfGnuPlot(char *nomeArq); void geraArquivoSaida(char *nomeArq, int buble1, int buble2, int buble3, int selection1,int selection2, int selection3, int insertion1, int insertion2, int insertion3, int merge, int quick); void gerarGrafico(char *nomeArq);

lista *criaCelula(int num); void insereLista(lista **plst, lista *novo);
FILE *abreArquivoEntrada(lista *list, int opc); lista *acha_ultimo(lista *plst, lista *n); lista *achar_maior (lista *dados, lista *ultimo); //int achaMaior(int *dados, int qtd); lista *juntar(lista* a, lista* b, int cont); int dividir(lista *dados, lista **frente, lista **atras); int tamLista (lista *dados); lista *achaPivot(lista *dados); lista *copiar(lista *plst, lista *copia);

/* Algoritmos de ordenação de dados */ int bubleSort(int opc); int selectionSort(int opc); int insertionSort(int opc);

lista *mergeSort(lista *dados, int cont); int r_merge = 0;

lista

Relacionados