Dev - C++ - Programa en Dev-C++ sobre estructura de tipo Cola

 
Vista:

Programa en Dev-C++ sobre estructura de tipo Cola

Publicado por Valeria (2 intervenciones) el 22/11/2011 19:04:15
Se tiene una cola de impresión donde se almacenan los documentos que se deben imprimir,
los documentos se identifican por la ubicación física por ejemplo: c:\Mis Documentos\
PlanSemanal.docx y la prioridad definida por un valor entero de 1 a 5, siendo uno la mayor
prioridad y 5 la menor.
Modifique la clase Nodo definida en el ejemplo siguiente con el fin de almacenar los dos campos
que componen el documento (Ubicación y prioridad) y luego cree la clase ColaImpresion y
empléela en el desarrollo de una aplicación que pida, ordene y liste los documentos a
impresión en una cola de prioridad.


/* Archivo TAD Cola Dinamica*/
#include <iostream>
#define null 0

using namespace std;
typedef int tipo_elemento;
typedef enum{FALSE=0, TRUE=1} boolean;

class Nodo{
public:
tipo_elemento dato;
Nodo *sig;
};

class Cola{
private:
Nodo *frente, *final;
public:
void insertar(tipo_elemento elemento);
tipo_elemento quitar();
boolean colaVacia();
Cola(){
frente=null;
final=null;
};
};

void Cola::insertar(tipo_elemento elemento){
Nodo *nuevo;
nuevo = new Nodo;
(*nuevo).dato=elemento;
(*nuevo).sig=null;
if (final==0){
frente=nuevo;
final=nuevo;
}
else{
(*final).sig=nuevo;
final=nuevo;
}
}

tipo_elemento Cola::quitar(){
tipo_elemento item;
item = (*frente).dato;
frente=(*frente).sig;
return item;
}

boolean Cola::colaVacia(){
return boolean(frente==null);
}

int main(){
int x=0;
Cola cola;

puts("Insercion de los elementos: \n");
for(x=1;x<6;x++){
//if (!cola.colaLlena()){
cola.insertar(x*2);
/*}else{
cout << "No se puden ingresar mas datos.\n";
x=11;
}*/
}
puts("Lista de elementos: \n");
for(x=1;x<6;x++){
if (!cola.colaVacia()){
cout << "Elemento en la posicion " << x << " es: " <<
cola.quitar() << "\n";
}else
x=11;
}

system("pause");
return 0;
}


alguien me podria ayudar como implementarlo????? x favor.....
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder