예제 #1
0
        public void deserealizarJSON(string strJSON)
        {
            try
            {
                var jPerson = JsonConvert.DeserializeObject <TransferObject>(strJSON);
                Console.WriteLine("Heres our JSON object: " + jPerson.ToString());


                Console.WriteLine("Waiting to print matriz.... \n");

                //Console.WriteLine("leyendo en archivo JSON: " + jPerson.archivo.pila.matrices.ToString());
                //Console.WriteLine("Here s is size x " + jPerson.archivo.cola.matrices.matriz.ToString());

                // leer datos de la pila
                foreach (var datosadentrodematriz in jPerson.archivo.pila.matrices.matriz)
                {
                    MatrizOrtogonal LLMatriz = new MatrizOrtogonal();

                    Console.WriteLine("tamano de matriz de pila: " + datosadentrodematriz.size_x.ToString() + "-" + datosadentrodematriz.size_y.ToString() + "\n");
                    LLMatriz.crearMatriz(Convert.ToInt32(datosadentrodematriz.size_x), Convert.ToInt32(datosadentrodematriz.size_y));


                    foreach (var datosdematrizmatriz in datosadentrodematriz.valores.valor)
                    {
                        Console.Write(" Posicion y valor de matriz pila: " + datosdematrizmatriz.dato.ToString() + "-" + datosdematrizmatriz.pos_x.ToString() + "-" + datosdematrizmatriz.pos_y.ToString() + "\n");
                        LLMatriz.MeterDato(Convert.ToInt32(datosdematrizmatriz.pos_x), Convert.ToInt32(datosdematrizmatriz.pos_y), Convert.ToInt32(datosdematrizmatriz.dato));
                    }
                    //LLMatriz.recorre(Convert.ToInt32(datosadentrodematriz.size_x), Convert.ToInt32(datosadentrodematriz.size_y));

                    //
                    LLPila.push(LLMatriz);
                    LLMatriz.ObtenerDato();
                }

                //  LLPila.desplegarPila();

                //leer datos de la cola
                foreach (var primeraseccion in jPerson.archivo.cola.matrices.matriz)
                {
                    MatrizOrtogonal LLMatriz1 = new MatrizOrtogonal();
                    Console.WriteLine("tamano de matriz de cola: " + primeraseccion.size_x.ToString() + "-" + primeraseccion.size_y.ToString() + "\n");
                    LLMatriz1.crearMatriz(Convert.ToInt32(primeraseccion.size_x), Convert.ToInt32(primeraseccion.size_y));
                    foreach (var segundaseccion in primeraseccion.valores.valor)
                    {
                        Console.Write(" Posicion y valor de matriz cola: " + segundaseccion.dato.ToString() + "-" + segundaseccion.pos_x.ToString() + "-" + segundaseccion.pos_y.ToString() + "\n");
                        LLMatriz1.MeterDato(Convert.ToInt32(segundaseccion.pos_x), Convert.ToInt32(segundaseccion.pos_y), Convert.ToInt32(segundaseccion.dato));
                    }
                    LLCola.enqueue(LLMatriz1);
                    LLMatriz1.ObtenerDato();
                    // LLCola.desplegarCola();
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.Write(ex.Message.ToString() + Environment.NewLine);
            }
        }
예제 #2
0
        public void push(MatrizOrtogonal matriz1)
        {
            llamar = matriz1;
            NodoPila Nuevo = new NodoPila();

            Nuevo.matriz = matriz1;
            Nuevo.Dato   = llamar.ObtenerDato();

            if (ultimo == null)
            {
                ultimo = Nuevo;
            }
            else
            {
                Nuevo.Siguiente = ultimo;
                ultimo          = Nuevo;
            }
            Console.WriteLine("Nodo ingresado \n");
        }
예제 #3
0
        //Insertar un objeto en la cola (enqueue).


        public void enqueue(MatrizOrtogonal datito)
        {
            llamarmatriz = datito;
            NodoCola nuevo = new NodoCola();

            nuevo.matriz = datito;

            nuevo.Dato = llamarmatriz.ObtenerDato();

            if (primero == null)
            {
                primero           = nuevo;
                primero.Siguiente = null;
                ultimo            = primero;
            }
            else
            {
                ultimo.Siguiente = nuevo;
                nuevo.Siguiente  = null;
                ultimo           = nuevo;
            }
            Console.WriteLine("Nodo ingresado en cola \n " + ultimo.Dato);
        }