Академический Документы
Профессиональный Документы
Культура Документы
IMPLEMENTACIÓN
DE ESTRUCTURAS DE DATOS LINEALES
2.6 Pila
Es una colección de datos que se caracteriza por manejar los datos de forma LIFO
Tope /
Inicio
Aplicaciones en la programación
• deshacer en Word
• retroceder en los navegadores
Estado
• Pila vacía
• Pila llena -> solo en el caso de un arreglo para pila
• Cuantos elementos hay en la pila
typedef struct _nodo {
int valor;
struct _nodo *siguiente;
} tipoNodo;
typedef tipoNodo *pNodo; //para el nodo con el dato
typedef tipoNodo *Pila; //para el inicio
if(*pila == NULL)
nuevo->siguiente = NULL;
else
/* Añadimos nodo en la pila al inicio */
nuevo->siguiente = *pila;
if(aux==NULL)
return 0; /* Si no hay nodos en la pila retornamos 0 */
else{
/* Asignamos pila al nodo siguiente */
*pila = aux->siguiente;
/* Borrar el nodo */
free(aux);
return v;
}
}
2.7 Cola
Es una colección de datos que se caracteriza por manejar los datos de forma FIFO
ENTRADA SALIDA
Aplicaciones en la programación
Estado
• Cola vacía
• Cola llena -> solo en el caso de un arreglo para cola
• Cuantos elementos hay en la cola
typedef struct _nodo {
int valor;
struct _nodo *siguiente;
} tipoNodo;
pNodo nuevo;
if(*cola == NULL){
/* Es el primer nodo de la lista */
*cola=nuevo;
}
else{
// Inserciones al final de la cola
(*fin)->siguiente=nuevo;
}
//para terminar las inserciones
*fin=nuevo;
nuevo->siguiente = NULL;
}
if(aux == NULL)
return 0; /* Si no hay nodos en la cola retornamos 0 */
else{
if(*cola != *fin)
*cola = aux -> siguiente;
else {
*cola = NULL;
*fin = NULL;
}
v = nodo->valor;
free(aux);
return v;
}//fin else
}