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.....
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


0