// ===++=== // // OrtizOL // // ===--=== /*============================================================ // // Clase: Pila.cs // // Propósito: Creación de una clase genérica. // ============================================================*/ using System; namespace Articulos.Cha03 { internal class Pila { // Posición de un elemento en la pila: private int posicion; // Elementos de datos como un arreglo estándar: private T[] datos = new T[100]; // Constructor: public Pila() { posicion = 0; } // Coloca un elemento de dato en la pila: public void Push(T elemento) { datos[posicion++] = elemento; } // Retira un elemento de dato de la pila: public T Pop() { return datos[--posicion]; } } internal class PruebaPila { public static void Main() { Pila puntosFlotantes = new Pila(); puntosFlotantes.Push(0.577215664901D); puntosFlotantes.Push(1.618033988D); puntosFlotantes.Push(1.414213562D); double raizDos = puntosFlotantes.Pop(); // 1.414213562 double mediaAureal = puntosFlotantes.Pop(); // 1.618033988 double constanteEuler = puntosFlotantes.Pop(); // 0.577215664901 Console.WriteLine(raizDos.ToString()); Console.WriteLine(mediaAureal.ToString()); Console.WriteLine(constanteEuler.ToString()); } } }