programacion c
La pila es una estructura de datos que permite almacenar datos en el orden LIFO (Last In First Out) en español, último en entrar, primero en salir).
La recuperación de losdatos es hecha en el orden inverso de su inserción.
Para la implementación he elegido una lista enlazada simple, presentada sobre la vertical.
Ya que la inserción es siempre hecha al inicio de lalista, el 1er elemento de la lista será el ultimo elemento ingresado, por lo tanto estará en la cabeza de la pila.
No he utilizado un puntero fin, como lo hice en el caso de la lista enlazadasimple, ya que el objetivo no es el de tratar una lista enlazada, sino una pila.
EJEMPLO
1.-Realizar un programa que solicite un numero entero por teclado y a continuación visualice por pantalla todoslos números primos entre 1 y el numero introducido.
El ejercicio y practica resuelta a continuación:
CODIGO
#include
#include
// Predefinición defunciones
int EsPrimo(int);
// Función principal
int main(int argc,char *argv[])
{
int numero;
int valores;
// Solicitar por pantalla el numero
printf(“Teclear No.: “);
scanf(“%d”,&numero);
// Visualizar todos los números primos entre 1 y el numero
// se utilizara una función para saber si un numero es primo o no
for(valores=1;valoressiguiente = NULL;
/* Sila cola no estaba vacía, añadimos el nuevo a continuación de ultimo */
if(*ultimo) (*ultimo)->siguiente = nuevo;
/* Ahora, el último elemento de la cola es el nuevo nodo */
*ultimo =nuevo;
/* Si primero es NULL, la cola estaba vacía, ahora primero apuntará también al nuevo nodo */
if(!*primero) *primero = nuevo;
}
int Leer(pNodo *primero, pNodo *ultimo) {
pNodo nodo;/* variable auxiliar para manipular nodo */
int v; /* variable auxiliar para retorno */
/* Nodo apunta al primer elemento de la pila */
nodo = *primero;
if(!nodo) return 0;...
Regístrate para leer el documento completo.