 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Perico Invitado
|
Publicado: Lun 16 May, 2005 4:56 pm Asunto: Crear pila FIFO |
|
|
hola,
la idea es hacer una pila FIFO con un std vector, de tal manera que si la pila es de 10 elementos, al querer meter un nuevo valor en vector[9], pues el valor vector[0] = vector[1], vector[1] = vector[2], asi hasta que el vector[8] = vector[9] y vector[9] = NuevoVaor;
Puede hacer esto alguna función asociada a std vector? o me lo tengo que currar a mano?
gracias |
|
| Volver arriba |
|
 |
_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Mar 17 May, 2005 8:10 am Asunto: |
|
|
Si solo necesitas acceder al valor que va saliendo de la pila puedes usar "queue", que es de tipo FIFO. Por ejemplo:
| Código: | #include <queue>
std::queue<String> q;
const int limite = 10;
// Añadimos un nuevo elemento por el final
q.push("prueba");
// Obtenemos el valor del primer elemento
String valor = q.front();
// Eliminamos el primer elemento
if (q.size() > limite)
q.pop(); |
Y si de todas formas tiene que ser usando "vector" podrías hacer algo así: | Código: | #include <vector>
std::vector<String> v;
const int limite = 10;
// Añadimos un nuevo elemento por el final
v.push_back("prueba");
// Accedemos a los valores
String valor = v[0];
// ...
// Borramos el primer elemento (esto hace que se muevan todos hacia
// arriba, copiando el 1 en el lugar que antes tenia el 0, etc..)
if (v.size() > limite)
v.erase(v.begin()); |
|
|
| Volver arriba |
|
 |
|
|
No puedes publicar temas nuevos en este foro No puedes responder a temas en este foro No puedes editar tus mensajes en este foro No puedes borrar tus mensajes en este foro No puedes votar en las encuestas de este foro
|
© 2002–2026 Club Builder · Funciona con phpBB.
|