Ejemplo n.º 1
0
        static void testes()
        {
            int[] vetor = Database.retornaVetorDadosComTamanho(10);
            for (int i = 0; i < 10; i++)
            {
                Console.Write("{0} |", vetor[i]);
            }

            //AlgoritmoOrdenacao teste = new AlgoritmoOrdenacao();

            int[] vetorOrdenado = AlgoritmoOrdenacao.OrdenacaoBolha(vetor);
            Console.WriteLine();
            for (int i = 0; i < 10; i++)
            {
                Console.Write("{0} |", vetorOrdenado[i]);
            }

            vetor         = Database.retornaVetorDadosComTamanho(10);
            vetorOrdenado = AlgoritmoOrdenacao.OrdenacaoSelecao(vetor);
            Console.WriteLine();
            for (int i = 0; i < 10; i++)
            {
                Console.Write("{0} |", vetorOrdenado[i]);
            }

            vetor         = Database.retornaVetorDadosComTamanho(10);
            vetorOrdenado = AlgoritmoOrdenacao.OrdenacaoInsercao(vetor);
            Console.WriteLine();
            for (int i = 0; i < 10; i++)
            {
                Console.Write("{0} |", vetorOrdenado[i]);
            }

            vetor         = Database.retornaVetorDadosComTamanho(10);
            vetorOrdenado = AlgoritmoOrdenacao.MergeSort(vetor);
            Console.WriteLine();
            for (int i = 0; i < 10; i++)
            {
                Console.Write("{0} |", vetorOrdenado[i]);
            }


            vetor         = Database.retornaVetorDadosComTamanho(10);
            vetorOrdenado = AlgoritmoOrdenacao.QuickSort(vetor);
            Console.WriteLine();
            for (int i = 0; i < 10; i++)
            {
                Console.Write("{0} |", vetorOrdenado[i]);
            }
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            const string separador = ";";

            InicializaPrograma();
            StreamWriter meuArquivo            = new StreamWriter(@"analiseVetorAleatorio.csv");
            StreamWriter meuArquivoCrescente   = new StreamWriter(@"analiseVetorCrescente.csv");
            StreamWriter meuArquivoDeCrescente = new StreamWriter(@"analiseVetorDecrescente.csv");
            string       linha = "";

            //int[] vetorAleatorio;
            int[]        leituras = new int[5];
            VetoresTeste meuVetor;
            //var watch;

            int cont = 1;
            int N    = 2000;

            do
            {
                linha = "";
                Resultados MeusResultados = new Resultados();
                //vetorAleatorio = Database.retornaVetorDadosComTamanho(N);
                meuVetor = new VetoresTeste(N);

                for (int i = 0; i < 5; i++)
                {
                    //------------------------------Bolha------------------------

                    var watch = System.Diagnostics.Stopwatch.StartNew();

                    AlgoritmoOrdenacao.OrdenacaoBolha(meuVetor.VetorAleatorio);

                    watch.Stop();
                    //double elapsedMs = watch.ElapsedMilliseconds / 1000.0;
                    double elapsedMs = watch.ElapsedTicks / 10000000.0;
                    MeusResultados.tpOrdenacaoBolha[i] = elapsedMs;

                    //CRESCENTE

                    watch = System.Diagnostics.Stopwatch.StartNew();

                    AlgoritmoOrdenacao.OrdenacaoBolha(meuVetor.VetorCrescente);

                    watch.Stop();
                    //elapsedMs = watch.ElapsedMilliseconds / 1000.0;
                    elapsedMs = watch.ElapsedTicks / 10000000.0;
                    MeusResultados.tpOrdenacaoBolhaCrescente[i] = elapsedMs;

                    //DECRESCENTE

                    watch = System.Diagnostics.Stopwatch.StartNew();

                    AlgoritmoOrdenacao.OrdenacaoBolha(meuVetor.VetorDescrescente);

                    watch.Stop();
                    //elapsedMs = watch.ElapsedMilliseconds / 1000.0;
                    elapsedMs = watch.ElapsedTicks / 10000000.0;
                    MeusResultados.tpOrdenacaoBolhaDeCrescente[i] = elapsedMs;


                    //-----------------------------Selecao-----------
                    meuVetor = new VetoresTeste(N);

                    watch = System.Diagnostics.Stopwatch.StartNew();

                    AlgoritmoOrdenacao.OrdenacaoSelecao(meuVetor.VetorAleatorio);

                    watch.Stop();
                    //elapsedMs = watch.ElapsedMilliseconds / 1000.0;
                    elapsedMs = watch.ElapsedTicks / 10000000.0;
                    MeusResultados.tpOrdenacaoSelecao[i] = elapsedMs;

                    //CRESCENTE

                    watch = System.Diagnostics.Stopwatch.StartNew();

                    AlgoritmoOrdenacao.OrdenacaoSelecao(meuVetor.VetorCrescente);

                    watch.Stop();
                    //elapsedMs = watch.ElapsedMilliseconds / 1000.0;
                    elapsedMs = watch.ElapsedTicks / 10000000.0;
                    MeusResultados.tpOrdenacaoSelecaoCrescente[i] = elapsedMs;

                    //DECRESCENTE

                    watch = System.Diagnostics.Stopwatch.StartNew();

                    AlgoritmoOrdenacao.OrdenacaoSelecao(meuVetor.VetorDescrescente);

                    watch.Stop();
                    //elapsedMs = watch.ElapsedMilliseconds / 1000.0;
                    elapsedMs = watch.ElapsedTicks / 10000000.0;
                    MeusResultados.tpOrdenacaoSelecaoDeCrescente[i] = elapsedMs;

                    //-----------------------------Insercao-----------
                    meuVetor = new VetoresTeste(N);

                    watch = System.Diagnostics.Stopwatch.StartNew();

                    AlgoritmoOrdenacao.OrdenacaoInsercao(meuVetor.VetorAleatorio);

                    watch.Stop();
                    //elapsedMs = watch.ElapsedMilliseconds / 1000.0;
                    elapsedMs = watch.ElapsedTicks / 10000000.0;
                    MeusResultados.tpOrdenacaoInsercao[i] = elapsedMs;

                    //CRESCENTE

                    watch = System.Diagnostics.Stopwatch.StartNew();

                    AlgoritmoOrdenacao.OrdenacaoInsercao(meuVetor.VetorCrescente);

                    watch.Stop();
                    //elapsedMs = watch.ElapsedMilliseconds / 1000.0;
                    elapsedMs = watch.ElapsedTicks / 10000000.0;
                    MeusResultados.tpOrdenacaoInsercaoCrescente[i] = elapsedMs;

                    //DECRESCENTE

                    watch = System.Diagnostics.Stopwatch.StartNew();

                    AlgoritmoOrdenacao.OrdenacaoInsercao(meuVetor.VetorDescrescente);

                    watch.Stop();
                    //elapsedMs = watch.ElapsedMilliseconds / 1000.0;
                    elapsedMs = watch.ElapsedTicks / 10000000.0;
                    MeusResultados.tpOrdenacaoInsercaoDeCrescente[i] = elapsedMs;


                    //-----------------------------MergeSort-----------
                    meuVetor = new VetoresTeste(N);

                    watch = System.Diagnostics.Stopwatch.StartNew();

                    AlgoritmoOrdenacao.MergeSort(meuVetor.VetorAleatorio);

                    watch.Stop();
                    //elapsedMs = watch.ElapsedMilliseconds / 1000.0;
                    elapsedMs = watch.ElapsedTicks / 10000000.0;
                    MeusResultados.tpMergeSort[i] = elapsedMs;

                    //CRESCENTE

                    watch = System.Diagnostics.Stopwatch.StartNew();

                    AlgoritmoOrdenacao.MergeSort(meuVetor.VetorCrescente);

                    watch.Stop();
                    //elapsedMs = watch.ElapsedMilliseconds / 1000.0;
                    elapsedMs = watch.ElapsedTicks / 10000000.0;
                    MeusResultados.tpMergeSortCrescente[i] = elapsedMs;

                    //DECRESCENTE

                    watch = System.Diagnostics.Stopwatch.StartNew();

                    AlgoritmoOrdenacao.MergeSort(meuVetor.VetorDescrescente);

                    watch.Stop();
                    //elapsedMs = watch.ElapsedMilliseconds / 1000.0;
                    elapsedMs = watch.ElapsedTicks / 10000000.0;
                    MeusResultados.tpMergeSortDeCrescente[i] = elapsedMs;

                    if (N <= 8000)
                    {
                        //-----------------------------QuickSort-----------
                        meuVetor = new VetoresTeste(N);

                        watch = System.Diagnostics.Stopwatch.StartNew();

                        AlgoritmoOrdenacao.QuickSort(meuVetor.VetorAleatorio);

                        watch.Stop();
                        //elapsedMs = watch.ElapsedMilliseconds / 1000.0;
                        elapsedMs = watch.ElapsedTicks / 10000000.0;
                        MeusResultados.tpQuickSort[i] = elapsedMs;

                        //CRESCENTE

                        watch = System.Diagnostics.Stopwatch.StartNew();

                        AlgoritmoOrdenacao.QuickSort(meuVetor.VetorCrescente);

                        watch.Stop();
                        //elapsedMs = watch.ElapsedMilliseconds / 1000.0;
                        elapsedMs = watch.ElapsedTicks / 10000000.0;
                        MeusResultados.tpQuickSortCrescente[i] = elapsedMs;

                        //DECRESCENTE

                        watch = System.Diagnostics.Stopwatch.StartNew();

                        AlgoritmoOrdenacao.QuickSort(meuVetor.VetorDescrescente);

                        watch.Stop();
                        //elapsedMs = watch.ElapsedMilliseconds / 1000.0;
                        elapsedMs = watch.ElapsedTicks / 10000000.0;
                        MeusResultados.tpQuickSortDeCrescente[i] = elapsedMs;
                    }
                }

                MeusResultados.CalculaMedia();

                linha = N + separador + MeusResultados.tmOrdenacaoBolha + separador + MeusResultados.tmOrdenacaoSelecao + separador + MeusResultados.tmOrdenacaoInsercao + separador + MeusResultados.tmMergeSort + separador + MeusResultados.tmQuickSort + separador;
                //Console.WriteLine(linha);
                meuArquivo.WriteLine(linha);

                linha = N + separador + String.Format("{0:N8}", MeusResultados.tmOrdenacaoBolhaCrescente) + separador + MeusResultados.tmOrdenacaoSelecaoCrescente + separador + String.Format("{0:N8}", MeusResultados.tmOrdenacaoInsercaoCrescente) + separador + MeusResultados.tmMergeSortCrescente + separador + MeusResultados.tmQuickSortCrescente + separador;
                //Console.WriteLine(linha);
                meuArquivoCrescente.WriteLine(linha);

                linha = N + separador + String.Format("{0:N8}", MeusResultados.tmOrdenacaoBolhaDeCrescente) + separador + MeusResultados.tmOrdenacaoSelecaoDeCrescente + separador + MeusResultados.tmOrdenacaoInsercaoDeCrescente + separador + MeusResultados.tmMergeSortDeCrescente + separador + MeusResultados.tmQuickSortDeCrescente + separador;
                //Console.WriteLine(linha);
                meuArquivoDeCrescente.WriteLine(linha);


                //Proximo Incremeto



                //N = (auxiliar * auxiliar) * 1000;

                Console.WriteLine("Gravei N = " + N);

                ++cont;

                int auxiliar = N / 1000;

                N = Convert.ToInt32(Math.Pow(2, cont)) * 1000;
                //N += 1000;
            } while (N <= 128000);


            meuArquivo.Close();
            meuArquivoCrescente.Close();
            meuArquivoDeCrescente.Close();



            Console.WriteLine("Termineeeeei! :D");
            Console.ReadKey();
        }