Java - Pilas

 
Vista:
Imágen de perfil de Jenny

Pilas

Publicado por Jenny (16 intervenciones) el 22/01/2016 20:42:32
Hola, amigos necesito un poco de ayuda con pilas, quisiera un programa muy basico, en el que ingrese 5 datos: 2, 3-1,8,-5, y utilizando una clase utiizar emty, size y pop... cuando arroje resultados se deben de quitar los numeros negativos.... ayuda :( amigos

por favor
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

Pilas

Publicado por Maverick (109 intervenciones) el 30/01/2016 01:09:57
Hola Jenny,

Seria bueno que intentes realizar el programa y de existir inconvenientes pues indiques para apoyarte.

Cualquier cosa puedes escribirme a [email protected]

Saludos Cordiales

Maverick
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

Pilas

Publicado por Brian Cid (3 intervenciones) el 08/06/2016 19:06:25
Bueno tengo un programa con el que puedes guiarte.

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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
public class Pilas {
 public static class ClasePila {   // Declaracion de la clase de la Pila
  private int max=10;   // Tamano maximo de la pila
  private int pila[] = new int [max];   // Arreglo para almacenar la pila
  private int top;  // Indica la cantidad de datos en la pila
 
  public ClasePila() {   // Constructor
    top=0;
    System.out.println("Pila creada !!!");
  }
 
        public void Push(int dato) {
         if(top==max)  // Esta llena la Pila?
         {
          System.out.println("Pila llena !!!");
          return;
         }
         for(int i=0; i<top; i++) {
          if(pila[i]==dato) { // Ya existe el dato?
           System.out.println("Duplicado !!!");
           return;
          }
          if(dato<pila[i]) {  // Alta al principio o intermedia
            for(int j=top;j>i;j--)
              pila[j]=pila[j-1];
            pila[i]=dato;
            top++;
            System.out.println("Dato insertado al principio o intermedio !!!");
            return;
             }
         }
         pila[top++]=dato; // Alta al final
         System.out.println("Dato insertado al final !!!");
         return;
     }
 
     public void Pop(int dato)  {
      if(top==0) { // Esta vacia la Pila?
       System.out.println("Pila vacia !!!");
       return;
      }
      for(int i=0;i<top;i++) {
        if(pila[i]==dato) {
          for(int j=i; j<top-1; j++)
             pila[j]=pila[j+1];
          top--;
          System.out.println("Dato eliminado !!!");
          return;
           }
         }
         System.out.println("Dato inexistente !!!");
     }
 
     public void Mostrar() {
      System.out.println("\n\n<<< MOSTRAR LA PILA >>>");
      if(top==0) System.out.println("Pila vacia !!!");
      for(int i=0;i<top;i++)
           System.out.println("pila["+i+"]="+pila[i]);
      System.out.println("top="+top);
      System.out.println("max="+max);
     }
    }
 
 
    static ClasePila Pila=new ClasePila();  // Declaracion del objeto Pila
 
    // Funcion principal
 public static void main(String args[]) throws IOException {
  int op=0;
  do {
      op=0;
     System.out.println("\n\n<<< PILAS >>>");
     System.out.println("1.-Push");
     System.out.println("2.-Pop");
     System.out.println("3.-Mostrar Pila");
     System.out.println("0.-Salir");
 
     //op=Integer.parseInt(JOptionPane.showInputDialog("Opcion? "));
     System.out.print("Opcion? ---> ");
     op=getInt();
 
        switch(op) {
        case 1 : Altas();                break;
        case 2 : Bajas();               break;
        case 3 : Pila.Mostrar();     break;
        }
  }while(op!=0);
     }
 
     public static void Altas() throws IOException {
      int dato=0;
      System.out.println("\n\n<<< ALTAS >>>");
      System.out.print("\nAnote el dato que desea insertar ---> ");
      dato=getInt();
      Pila.Push(dato);  // Invocar el metodo Push del objeto Pila
     }
 
     public static void Bajas() throws IOException {
      int dato=0;
      System.out.println("\n\n<<< BAJAS >>>");
      System.out.print("\nAnote el dato que desea eliminar ---> ");
      dato=getInt();
      Pila.Pop(dato); // Invocar el metodo Pop del objeto Pila
     }
 
     // Funcion para capturar una cadena desde el teclado
      public static String getString() throws IOException {
            InputStreamReader isr = new InputStreamReader(System.in);
            BufferedReader br = new BufferedReader(isr);
            String s = br.readLine();
            return s;
        }
 
        // Funcion para capturar un entero desde el teclado
        public static int getInt() throws IOException {
            String s = getString();
            return Integer.parseInt(s);
        }
}
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