pronto sera mi proyecto de pilas & no se NADA alguien me podria explicar para que sirve la variable "N" la variable "X" & porque la variable cab ttiene 2 asteriscos(**cab)
La variable n es una v. auxiliar que se define dentro de la función push, es una variable apuntador y se utiliza para guardar la dirección del nuevo nodo que se va a crear.
x es una variable entera que guarda el valor que va a contener el campo dato del nuevo nodo. Esta v. llega como parámetro, su valor se envía desde donde se llama a la función push...(puede ser desde main)
La última pregunta la respondo en comentarios generales porque se me acaban los caracteres disponibles.
cab tiene dos asteriscos porque cuando llaman a la función push envían la dirección de cab (push(&cab,x);) y como cab es apuntador están enviando la dirección de una dirección, por ello se recibe con 2 asteriscos. Cuando se envía un parámetro puntero con & se lo recibe en la función con doble asterisco. Se hace así cuando se necesita que al modificar a cab en la función también se modifique en la función donde se hizo el llamado.
Cuando se recibe una variable apuntador con doble asterisco se debe utilizar la variable en la función con un asterisco, por ello se encuentra la linea *cab = n; (recuerda que cab se recibió en la función con doble asterisco)
Esta pila utiliza el campo sig para guardar la dirección del siguiente nodo, pero no guarda la dirección de si mismo. Este caso que mencionas se utiliza principalmente en las listas circulares simples o dobles: cuando la lista está vacía tiene un solo nodo (nodo auxiliar) donde el campo sig apunta al mismo nodo que lo contiene.
se guarda la dirección del siguiente para conectarse a los otros elementos y así poder acceder a ellos, de lo contrario tocaría crear una variable apuntador por cada nodo, te imaginas si necesitas crear unos mil nodos?
hee creo q hay un error deberia de haber un ciclo repetivo en este caso un ciclo mienstras que, por q si no solo haria ese procedimiento una sola vez...Pero muy buena la explicacion..!!
Tienes razón en cuanto hace falta un ciclo, pero de la manera como está programado el ciclo va en otra función. En el ciclo se hace el llamado a la función push, cada vez que lo haga adiciona un nodo.
En conclusión push es una función que cada vez que se la llame adiciona un nodo. El llamado lo puede hacer desde un menú o desde un ciclo.
Espero pronto adicionar nuevos videos por ello te recomiendo que no olvides suscribirte al canal y contarle a tus compañeros.
Oigan.... miren tengo un problema bien grande:$
pronto sera mi proyecto de pilas & no se NADA alguien me podria explicar para que sirve la variable "N" la variable "X" & porque la variable cab ttiene 2 asteriscos(**cab)
les agradeceria que me resolvieran mi duda!
germanottaAmbriz 3 months ago
La variable n es una v. auxiliar que se define dentro de la función push, es una variable apuntador y se utiliza para guardar la dirección del nuevo nodo que se va a crear.
x es una variable entera que guarda el valor que va a contener el campo dato del nuevo nodo. Esta v. llega como parámetro, su valor se envía desde donde se llama a la función push...(puede ser desde main)
La última pregunta la respondo en comentarios generales porque se me acaban los caracteres disponibles.
jccheca 3 months ago
cab tiene dos asteriscos porque cuando llaman a la función push envían la dirección de cab (push(&cab,x);) y como cab es apuntador están enviando la dirección de una dirección, por ello se recibe con 2 asteriscos. Cuando se envía un parámetro puntero con & se lo recibe en la función con doble asterisco. Se hace así cuando se necesita que al modificar a cab en la función también se modifique en la función donde se hizo el llamado.
jccheca 3 months ago
Cuando se recibe una variable apuntador con doble asterisco se debe utilizar la variable en la función con un asterisco, por ello se encuentra la linea *cab = n; (recuerda que cab se recibió en la función con doble asterisco)
jccheca 3 months ago
@jccheca Mushas Grasias!:D
germanottaAmbriz 3 months ago
Los nodos no guardan la dirección de ellos mismos?.
Porque he visto que almacenan la dirección del siguiente, pero no he visto una variable que resguarde su propia dirección.
TheJohn7895123 11 months ago
Esta pila utiliza el campo sig para guardar la dirección del siguiente nodo, pero no guarda la dirección de si mismo. Este caso que mencionas se utiliza principalmente en las listas circulares simples o dobles: cuando la lista está vacía tiene un solo nodo (nodo auxiliar) donde el campo sig apunta al mismo nodo que lo contiene.
jccheca 11 months ago
@jccheca
Pero si no contiene su propia dirección..., para qué contiene cada nodo la dirección del siguiente?.
Mmm, no entiendo esa lógica.
TheJohn7895123 11 months ago
se guarda la dirección del siguiente para conectarse a los otros elementos y así poder acceder a ellos, de lo contrario tocaría crear una variable apuntador por cada nodo, te imaginas si necesitas crear unos mil nodos?
jccheca 11 months ago
Si no pones "n=new LIFO;" la estructura no se crea?.
No puedes hacer una asignación directa de los campos salteando esa línea?.
Disculpa que te bombardee de preguntas.
Pero estoy confundido porque la variable sola guarda una dirección y sus campos guardan los datos del nodo.
Como ser: n.dato = x; n.sig = *cab;
TheJohn7895123 11 months ago
Disculpa.
Porqué le pones un asterisco (*) a la variable "n" de tipo struct LIFO si esta no guarda ninguna dirección?.
O acaso si lo hace?.
Es la variable que posee ka estructura y que recibe los datos de los campos. Pero no entiendo el porqué de ese asterisco.
TheJohn7895123 11 months ago
hee creo q hay un error deberia de haber un ciclo repetivo en este caso un ciclo mienstras que, por q si no solo haria ese procedimiento una sola vez...Pero muy buena la explicacion..!!
animista01 1 year ago
Tienes razón en cuanto hace falta un ciclo, pero de la manera como está programado el ciclo va en otra función. En el ciclo se hace el llamado a la función push, cada vez que lo haga adiciona un nodo.
En conclusión push es una función que cada vez que se la llame adiciona un nodo. El llamado lo puede hacer desde un menú o desde un ciclo.
Espero pronto adicionar nuevos videos por ello te recomiendo que no olvides suscribirte al canal y contarle a tus compañeros.
jccheca 1 year ago
@jccheca haaa ya pk gracias
animista01 1 year ago
@animista01
Muchacho. Si no me equivoco el ciclo repetitivo está dentro de la función "main".
Y por supuesto que los datos que reciben como parámetros provienen de allí.
Dentro de un ciclo repetitivo se incluye esta función que será llamada por cada ciclo del lazo.
TheJohn7895123 11 months ago
excelente explicacion! tenes Msn Amigo, para hacerte consultas?
MrDearDark 1 year ago
valee jaja!! ya lo he entendido viendo este video, gracias de todas formas!
nenukytah 2 years ago