Codigo por prioridades C++

/* * C++ - Colas con prioridad * Description: Se encola caracteres de acuerdo a su prioridad(entero) ingresada. */ #inc

Views 78 Downloads 0 File size 234KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

/* * C++ - Colas con prioridad * Description: Se encola caracteres de acuerdo a su prioridad(entero) ingresada. */

#include #include using namespace std;

/*

Estructura de los nodos de la cola

------------------------------------------------------------------------*/ struct nodo { char dato; int priori;

// prioridad del nodo

struct nodo *sgte; };

/*

Estructura de la cola

------------------------------------------------------------------------*/ struct cola { nodo *delante; nodo *atras

;

};

/*

Crear Nodo

------------------------------------------------------------------------*/ struct nodo *crearNodo( char x, int pr) { struct nodo *nuevoNodo = new(struct nodo); nuevoNodo->dato = x; nuevoNodo->priori = pr; return nuevoNodo; };

/*

Encolar cacarter con prioridad

------------------------------------------------------------------------*/ void encolar( struct cola &q, char valor, int priori ) {

struct nodo *aux = crearNodo(valor, priori); aux->sgte = NULL; if( q.delante == NULL) q.delante = aux;

// encola el primero elemento

else (q.atras)->sgte = aux;

q.atras = aux;

// puntero que siempre apunta al ultimo elemento

}

/*

Mostrar Cola

------------------------------------------------------------------------*/ void muestraCola( struct cola q ) { struct nodo *aux; aux = q.delante; cout dato; aux1->priori = aux2->priori; aux1->dato

= aux2->dato;

aux2->priori = p_aux; aux2->dato

= c_aux;

} aux2 = aux2->sgte; } aux1 = aux1->sgte; } } /*

Inserta cacacteres en una cola

------------------------------------------------------------------------*/ void insertar( struct cola &q, char c, int pr ) { /* Encolando caracteres */ encolar( q, c, pr ); /* Ordenando por prioridad */ ordenarPrioridad( q ); }

/*

Menu de opciones

------------------------------------------------------------------------*/ void menu() { cout