Dev - C++ - Crear lista o vector de colas

 
Vista:
sin imagen de perfil
Val: 5
Ha disminuido su posición en 2 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Crear lista o vector de colas

Publicado por Kenny (3 intervenciones) el 21/09/2019 01:55:19
hola, tengo que hacer un codigo de ordanamiento radixsort, pero de la siguiente manera usando contenedores STL
debo crear una lista que contenga 9 colas (del 0-9), lo que debe hacer es leer una lista de numeros, y empezar por las unidades, todos los numeros de la lista que tengan como unidad 0 iran a la cola 0 de la lista, los q tengan unidad 1 iran a la cola 1 y asi sucesivamente.

como se implementa una lista de colas?

se que debo incluir los contenedores "#include <list>" y "#include <queue>"

¿para crearla seria de esta manera?
list<queue> lista(10);

haciendolo de como esta arriba el codeblock me tira error. como es?
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
sin imagen de perfil
Val: 338
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Crear lista o vector de colas

Publicado por Martín (158 intervenciones) el 21/09/2019 10:18:09
Lo que necesitas es una lista de 10 queues, o quizá mejor, una lista de queues donde irás insertando las que necesites, que podrán ser 10 o menos, sólo las que hagan falta.

La lista debería ser:
1
std::list<std::queue<int>> lista;

Y cuando tienes una queue con elementos, por ejemplo una
1
std::queue<int> q0;

la incluyes en la lista con:
1
lista.push_back(q0);

Y lo mismo con las otras 9 queues.

Después podrás acceder a los datos en cada una de las queues de la lista con algo así:
1
2
3
4
5
auto iq = std::find(lista.begin(), lista.end(), q0); // iq es un iterador a las queues de la lista
while(!iq->empty()) {  // si la cola tiene elementos
    std::cout << iq->front() << " ";  // accede al primer elemento de la queue
    iq->pop();   // lo extrae
}

No es muy complejo pero tampoco es tan simple, hay que trabajar la idea y completar un primer programa que funcione, después lo emprolijas.

// Martín
// Profe de C++
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Rodrigo
Val: 1.755
Plata
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Crear lista o vector de colas

Publicado por Rodrigo (539 intervenciones) el 22/09/2019 01:19:36
Tiene mas sentido un vector, para usar el numero como indice y obtener la cola en O(1)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar