Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * File: colas.h
- * Author: Pablo
- *
- * Created on 25 de mayo de 2014, 01:48 AM
- */
- #ifndef COLAS_H
- #define COLAS_H
- typedef int TElemento;
- typedef struct nodo{
- TElemento elem;
- struct nodo* ptrSig;
- }TNodo;
- typedef struct {
- TNodo *primero;
- TNodo *ultimo;
- }TCola;
- void crearCola(TCola *);
- void encolar(TCola *, TElemento);
- void desencolar(TCola *);
- TElemento primero(TCola *);
- int esVacia(TCola *);
- void imprimirCola(TCola *);
- #endif /* COLAS_H */
- #include <stdio.h>
- #include <stdlib.h>
- #include "colas.h"
- void crearCola(TCola *cola){
- cola->primero = NULL;
- cola->ultimo = NULL;
- }
- void encolar(TCola *cola, TElemento elem){
- TNodo *ptrNuevo;
- ptrNuevo = (TNodo *)malloc(sizeof(TNodo));
- ptrNuevo->elem = elem;
- ptrNuevo->ptrSig = NULL;
- if (cola->primero == NULL){
- cola->primero = ptrNuevo;
- cola->ultimo = ptrNuevo;
- }else{
- cola->ultimo->ptrSig = ptrNuevo;
- cola->ultimo = ptrNuevo;
- }
- }
- void desencolar(TCola *cola){
- if (cola->primero != NULL){
- TNodo *ptrEliminar;
- ptrEliminar = cola->primero;
- cola->primero = cola->primero->ptrSig;
- free(ptrEliminar);
- }else{
- printf("No se puede desencolar en una cola vacia\n");
- }
- }
- TElemento primero(TCola *cola){
- if (cola->primero != NULL){
- return (cola->primero->elem);
- }else{
- printf("No hay primera en una cola vacia\n");
- }
- }
- int esVacia(TCola *cola){
- return (cola->primero == NULL);
- }
- void imprimirCola(TCola *cola){
- TNodo *ptrRec;
- ptrRec = cola->primero;
- while (ptrRec != NULL){
- printf(" %d ",ptrRec->elem);
- ptrRec = ptrRec->ptrSig;
- }
- printf("NULL\n");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement