コード例 #1
0
        /// <summary>
        /// Metodo que regresa una copia del arreglo recibido
        /// </summary>
        /// <param name="original"></param>
        /// <returns></returns>
        static ClaseArregloV3 CopiarArreglo(ClaseArregloV3 original)
        {
            ClaseArregloV3 arregloTemp = new ClaseArregloV3(original.Max);

            for (int i = 0; i < original.Top; i++)
            {
                arregloTemp.Insertar(original.Arreglo[i]);
            }

            return(arregloTemp);
        }
コード例 #2
0
 public void RunSortDescendant(ClaseArregloV3 arreglo)
 {
     for (int i = 0; i < arreglo.Top - 1; i++)
     {
         for (int j = 0; j < arreglo.Top - i - 1; j++)
         {
             if (arreglo.Arreglo[j] > arreglo.Arreglo[j + 1])
             {
                 arreglo.Swap(j, j + 1);
             }
         }
     }
 }
コード例 #3
0
        static void Main(string[] args)
        {
            ClaseArregloV3 arreglov3 = new ClaseArregloV3(5);

            for (int i = 0; i < arreglov3.Max; i++)
            {
                Console.WriteLine("Ingrese los datos de la posicion {0}: ", i);
                arreglov3.Insertar(CapturaDeInfo());
                Console.WriteLine();
            }

            Console.WriteLine(arreglov3.Mostrar());
            Console.ReadLine();
        }//finMain
コード例 #4
0
        static void Main(string[] args)
        {
            ClaseArregloV3 arreglo     = new ClaseArregloV3(5);
            ClaseArregloV3 arregloTemp = new ClaseArregloV3(5);
            Datos          dato;

            int opcion;
            int inicioMenu = 1;
            int finMenu    = 8;
            //int dato;

            string menu = "===MENU===\n1:Precargar Arreglo \n2: Insertar valores \n3:Eliminar \n4:Vaciar \n5:Mostrar \n6:Buscar \n7:Ordenar \n8:[!]Salir[!] \nOpción:";

            do
            {
                opcion = ImprimeMenu(menu, inicioMenu, finMenu, true);
                switch (opcion)
                {
                case 1:
                    arreglo.Vaciar();

                    for (int i = 0; i < 5; i++)
                    {
                        dato              = new Datos();
                        dato.Nombre       = "pupper" + i;
                        dato.Matricula    = i;
                        dato.Grupo        = i + "M";
                        dato.Calificacion = 5 + i;
                        arreglo.Insertar(dato);
                    }
                    break;

                case 2:
                    dato = CapturaDeInfo();
                    if (arreglo.Insertar(dato))
                    {
                        Console.WriteLine("Dato insertado :)");
                    }
                    else
                    {
                        Console.WriteLine("Error de insercion :/");
                    }
                    break;

                case 3:
                    dato = CapturaDeInfoParaEliminar();
                    if (arreglo.Eliminar(dato))
                    {
                        Console.WriteLine("Dato eliminado :)");
                    }
                    else
                    {
                        Console.WriteLine("Error de eliminacion :/");
                    }
                    break;

                case 4:

                    Console.WriteLine("==>Vaciando el arreglo:");
                    arreglo.Vaciar();
                    Console.WriteLine("==>Arreglo vacio");
                    break;

                case 5:

                    Console.WriteLine(arreglo.Mostrar());
                    //toDo
                    break;

                case 6:
                    //int temp;
                    //Console.WriteLine("==>Ingrese el numero a buscar en el arreglo");
                    //int.TryParse(Console.ReadLine(), out dato);
                    //Console.WriteLine("Buscando dato...");
                    //if (arreglo.Buscar(dato) != -1)
                    //{
                    //    temp = arreglo.Buscar(dato);
                    //    Console.WriteLine("Se encontro el dato " + dato + " en la posicion " + temp);
                    //}
                    break;

                case 7:

                    Console.WriteLine("==>El arreglo actualmente:");
                    Console.WriteLine(arreglo.Mostrar());
                    int    opcion2;
                    int    inicioMenu2 = 1;
                    int    finMenu2    = 7;
                    string menu2       = "\t1: BubbleSort\n\t2: HeapSort\n\t3: InsertSort\n\t4:QuickSort\n \t5:PancakeSort\n\t6:SelectSort\n\t7:[!]Salir[!]\n\tOpción:";
                    do
                    {
                        opcion2 = ImprimeMenu(menu2, inicioMenu2, finMenu2, false);
                        switch (opcion2)
                        {
                        case 1:
                            //toDo
                            arregloTemp = CopiarArreglo(arreglo);
                            BubbleSort bubbles = new BubbleSort();
                            Console.WriteLine("Ordenando...");

                            bubbles.RunSortAscendant(arregloTemp);
                            Console.WriteLine(arregloTemp.Mostrar());
                            Console.ReadLine();

                            break;

                        case 2:
                            //arregloTemp = CopiarArreglo(arregloV1);
                            //HeapSort hippy = new HeapSort();
                            //Console.WriteLine("Ordenando...");

                            //hippy.RunSort(arregloTemp);
                            //Console.WriteLine(arregloTemp.Mostrar());
                            //Console.ReadLine();
                            //toDo
                            break;

                        case 3:
                            //arregloTemp = CopiarArreglo(arregloV1);
                            //InsertSort inserts = new InsertSort();
                            //Console.WriteLine("Ordenando...");

                            //inserts.RunSort(arregloTemp);
                            //Console.WriteLine(arregloTemp.Mostrar());
                            //Console.ReadLine();
                            //toDo
                            break;

                        case 4:
                            //arregloTemp = CopiarArreglo(arregloV1);
                            //QuickSort quickie = new QuickSort();
                            //Console.WriteLine("Ordenando...");

                            //quickie.RunSort(arregloTemp);
                            //Console.WriteLine(arregloTemp.Mostrar());
                            //Console.ReadLine();
                            //toDo
                            break;

                        case 5:
                            //arregloTemp = CopiarArreglo(arregloV1);
                            //PancakeSort pancake = new PancakeSort();
                            //Console.WriteLine("Ordenando...");

                            //pancake.RunSort(arregloTemp);
                            //Console.WriteLine(arregloTemp.Mostrar());
                            //Console.ReadLine();
                            //toDo
                            break;

                        case 6:
                            //arregloTemp = CopiarArreglo(arregloV1);
                            //SelectSort selects = new SelectSort();
                            //Console.WriteLine("Ordenando...");

                            //selects.RunSort(arregloTemp);
                            //Console.WriteLine(arregloTemp.Mostrar());
                            //Console.ReadLine();
                            //toDo
                            break;

                        default:
                            //toDo
                            break;
                        }
                    } while (opcion2 != finMenu);



                    break;
                }
                Console.ReadLine();
            } while (opcion != finMenu);
        }