27 - Pilas, Implementación con Memoria Dinámica (EDDJava)

Поділитися
Вставка
  • Опубліковано 2 лют 2025

КОМЕНТАРІ • 26

  • @KevonMXL
    @KevonMXL 3 роки тому

    es un grande

  • @jonatanperez8335
    @jonatanperez8335 2 роки тому

    entendi mucho mejor ahora pilas y listas, gracias, te ganaste otro subscriptor :D

  • @franciscogutierrez8481
    @franciscogutierrez8481 5 років тому

    La verdad muchísimas gracias. Este curso me ha servido para reafirmar lo aprendido de la materia de estructura de datos en la uni donde voy.

  • @armanlove1998
    @armanlove1998 9 місяців тому

    Cumpa , me pasas el código?

  • @juliolopez1064
    @juliolopez1064 7 років тому +1

    Excelente video amigo me ayudado mucho y explicas muy bueno y enendible ....

  • @ferreira0717
    @ferreira0717 4 роки тому

    57.600 Suscriptores en el julio 2020, Felicitaciones, creo que debe ser mas debido a su excelente forma de enseñar, gracias totales !

  • @davidcol0125
    @davidcol0125 6 років тому

    4 años después y mira, casi los 50 mil suscriptores, y lo mejor es que si siguiera subiendo videos estoy seguro que millones lo seguirían ahorita porque es el mejor profe de lejos! :D

  • @TheFlinkone1
    @TheFlinkone1 9 років тому +12

    explicas mejor que mi maestro :D

  • @diegoaguirre2019
    @diegoaguirre2019 7 років тому +1

    Exelentes videos. Felicitaciones desde Argentina!!

  • @pablobros1880
    @pablobros1880 6 років тому +4

    ¿me podria compartir algun metodo para mostrar lo que se almaceno en la pila?

  • @guillermolopez5112
    @guillermolopez5112 6 років тому

    Gracias me fue de gran ayuda. como haria para hacer una pila dinamica que me pida un tamaño maximo de la pila

  • @artilleramd
    @artilleramd 8 років тому +1

    muy claros tus video...!! gracias !!! estaré pendiente en tus nuevos videos..!! gracias y like

  • @gustavocanedo2310
    @gustavocanedo2310 9 років тому

    Seria un estado actual a lo que te refieres, se haria uso de un pila Aux esa nos servira para no perder los datos retirados, el estado actual de la pila se haria con un while(P.Retira && Aux.Inserta(P.Dr)) creo que en este caso la variable seria cima, P.cima
    System.out.println(P.Dr)
    Y luego para volver los elementos a la pila original
    While(Aux.Retira && P.Inserta(Aux.Dr))

  • @Andrux.Flores
    @Andrux.Flores 8 років тому +1

    Como seria el metodo para recorrer la pila y mostrar los elementos

    • @kevinmartin8474
      @kevinmartin8474 8 років тому +2

      Es lo que ando buscando igual

    • @narutobleach1997
      @narutobleach1997 8 років тому +6

      para mostrar seria
      while (!estaVacia())
      {
      int aux = top.dato;
      System.out.println(aux);
      top = top.siguiente;
      }

  • @ivonneaspilcueta8658
    @ivonneaspilcueta8658 8 років тому +1

    Hola a todos, me pueden ayudar con la ecuacion de la Inversion polaca para este codigo? Por favor. Gracias
    package polacaPilas;
    public class polaca {
    public boolean busca(int x, PilaI fuente) {
    boolean esta = false; //bandera para saber si x está en fuente
    PilaI aux = new PilaI(); //Creo una pila auxiliar para pasar temporalmente
    NodoI n = fuente.pop(); //Extraigo el primer elemento de la pila fuente
    while (n != null && !esta) { //mientras tenga datos la pila o no lo encuentre
    esta = (n.getDato() == x); //comparo el x cono lo que saque de la pila
    aux.push(n); //uso la pila auxiliar para guardar la info temporalmente
    if (!esta) { //Si no esta pido otro elemento de la pila
    n = fuente.pop();
    }
    }
    //vuelo a colocar los elemento en la pila fuente
    n = aux.pop();
    while (n != null) {
    fuente.push(n);
    n = aux.pop();
    }
    return esta;
    }
    public NodoI extrae(int x, PilaI fuente) {
    NodoI retorno = null; //Nodo donde retorno
    PilaI aux = new PilaI(); //Creo una pila auxiliar para pasar temporalmente
    NodoI n = fuente.pop(); //Extraigo el primer elemento de la pila fuente
    while (n != null && retorno == null) { //mientras tenga datos la pila o no lo encuentre
    if (n.getDato() == x) { //comparo el x cono lo que saque de la pila
    retorno = n;
    } else {
    aux.push(n); //uso la pila auxiliar para guardar la info temporalmente
    n = fuente.pop(); //Si no esta pido otro elemento de la pila
    }
    }
    //vuelo a colocar los elemento en la pila fuente
    n = aux.pop();
    while (n != null) {
    fuente.push(n);
    n = aux.pop();
    }
    return retorno;
    }
    public PilaI ordena(PilaI fuente) {
    PilaI ordenada = new PilaI();
    PilaI aux = new PilaI();
    NodoI mayor = fuente.pop();
    while (mayor != null) {
    NodoI temp = fuente.pop();
    while (temp != null) {
    if (mayor.getDato() > temp.getDato()) {
    aux.push(temp);
    } else {
    aux.push(mayor);
    mayor = temp;
    }
    temp = fuente.pop();
    }
    ordenada.push(mayor);
    fuente = aux;
    mayor = fuente.pop();
    aux = new PilaI();
    }
    return ordenada;
    }
    private boolean esNumero(char c) {
    return ("1234567890".indexOf("" + c) > -1);
    }
    private boolean esOperador(char c) {
    return ("-+*/".indexOf("" + c) > -1);
    }
    public String aPolaca(String polaca) {
    String v[] = polaca.split(",");
    polaca = "";
    PilaS laPila = new PilaS();
    for (String s : v) {
    if (esNumero(s.charAt(0))) { //Si es un numero lo paso directo a polaca
    polaca += s + ",";
    } else if (esOperador(s.charAt(0))) { //Si es operador debo ver si hay algo en Pila y valorar prioridades
    NodoS dato = laPila.pop();
    if (dato == null) { // no habia nada en la pila
    laPila.push(new NodoS(s));
    } else {
    if (dato.getDato().equals("(")) {
    laPila.push(dato);
    laPila.push(new NodoS(s));
    } else if ("-+".indexOf(dato.getDato().charAt(0)) >= 0
    && "*/".indexOf(s.charAt(0)) >= 0) {
    laPila.push(dato);
    laPila.push(new NodoS(s));
    } else {
    polaca += dato.getDato() + ",";
    laPila.push(new NodoS(s));
    }
    }
    } else if (s.charAt(0) == '(') { //Si es paréntesis abiero lo pongo en la Pila
    laPila.push(new NodoS(s));
    } else { //definitivamente debe ser un ")".. por lo que se saca todo hasta el "("
    NodoS n = laPila.pop();
    while (!n.getDato().equals("(")) {
    polaca += n.getDato() + ",";
    n = laPila.pop();
    }
    }
    }
    NodoS n = laPila.pop();
    while (n != null) {
    polaca += n.getDato() + ",";
    n = laPila.pop();
    }
    return polaca;
    }
    public double evaluaPolaca(String s) {
    double resultado = 0;
    String v[] = s.split(",");
    PilaS pila = new PilaS();
    for (String x : v) {

    // Aqui me falta la ecuacion

    }
    resultado=Double.parseDouble(pila.pop().getDato());
    return resultado;
    }
    }

  • @AnaeliseHuaniriRomero
    @AnaeliseHuaniriRomero 5 років тому

    porque nuevo.sig=cima??

  • @CristianArielSanhueza
    @CristianArielSanhueza 4 роки тому

    Supongo ya estarás feliz! cuando inicias el video mencionas que lo estarás cuando llegues alrededor de los 50mil subscriptores jaja. Saludos de Argentina! gran aporte a la comunidad universitaria.

  • @yedaniveizaga6428
    @yedaniveizaga6428 6 років тому

    el mejrrrr...crack

  • @afcordoba
    @afcordoba 6 років тому

    Es muy útil pero el nodo tiene mal el nombre y la semántica confunde, debería llamarse NodoPila no NodoCola, es al principio el error, solo eso.

  • @Elbolas-o6s
    @Elbolas-o6s 4 роки тому

    son 55600 suscriptores

  • @isaacgomez1204
    @isaacgomez1204 4 роки тому

    ya van 59 000 jajajaja