Python - Mostrar una pila en orden inverso

 
Vista:

Mostrar una pila en orden inverso

Publicado por Sergio (2 intervenciones) el 08/09/2020 00:54:13
Buen día,

tengo una pila y la visualizo en orden, pero necesito visualizar en el orden inverso, es decir :

tengo el :123456 y necesito que me imprima 654321

esta es la función que tengo de mostrar

1
2
3
4
5
def show(self):
    aux=self.primero
    while aux != None:
      print(aux.dato)
      aux=aux.siguiente
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Mostrar una pila en orden inverso

Publicado por joel (901 intervenciones) el 08/09/2020 08:19:16
Hola Sergio, self.primero exactamente que es? nos lo puedes mostrar para poder probarlo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Mostrar una pila en orden inverso

Publicado por Sergio (2 intervenciones) el 08/09/2020 15:35:01
Buen día.

self.primero hace parte del constructor.

te comparto el código

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
from nodo import Nodo
 
class Pila():
 
#crear contructor
  def __init__(self):
    self.primero=None
    self.top=None
    self.size=0
#operacion para definir si la lista esta vacia
  def pilaVacia(self):
    return self.top==None
 
#definir tamaño de la lista
  def Size(self):
    return self.size
 
#operacion para mostrar la pila
  def show(self):
    aux=self.primero
    while aux != None:
      print(aux.dato)
      aux=aux.siguiente
 
  #operacion para agregar un elemento en pila
  def push(self,dato):
    nuevoElemento = Nodo(dato)
    if self.pilaVacia():
      self.primero=self.top=nuevoElemento
    else:
      self.top.siguiente=nuevoElemento
      self.top=nuevoElemento
    self.size+=1
    #self.show()
 
 
  def pop(self):
    if self.pilaVacia():
      print ("\n Imposible eliminar un elemento la pila esta vacia")
    elif self.primero==self.top:
      self.primero=self.top=None
      self.size-=1
    else:
      #Buscar el penultimo elemento de la lista
      aux=self.primero
      while aux.siguiente != self.top:
        aux=aux.siguiente
      aux.siguiente=None
      self.top=aux
      self.siz-=1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar