 |
Club Builder Foro de C++Builder en español
|
| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
beta Lt JG

Registrado: 01 Abr 2006Mensajes: 74
|
Publicado: Jue 18 May, 2006 11:38 pm Asunto: Más problemas con el uso de insert sobre una STL list |
|
|
En un mensaje anterior creí haber encontrado la solución al uso que pretendo para insert sobre una STL list.
¡Enorme error por mi parte!.
Sigo con problemas en el siguiente código, por si alguien del foro puede indicarme lo que hago mal:
std::list<AnsiString> l_pPadres;//lista con los siguientes elementos: "uno" "dos" "tres" "cuatro"
std::list<AnsiString> l_pHijos;//lista con los siguienes elementos: "alfa" "beta" "delta"
//deseo insertar toda la lista l_pHijos entre los elementos "dos" y "tres" de la lista l_pPadres, para que esta última quede: "uno" "dos" "alfa" "beta" "delta" "tres" "cuatro"
//1: localizo en l_pPadres donde está "dos"
std::list<AnsiString>::iterator mi3Iterador;
for(mi3Iterador = l_pPadres.begin();mi3Iterador != l_pPadres.end();mi3Iterador++)
{//begin for mi3Iterador
if(*mi3Iterador) == AnsiString("dos"))
break;
}//end for mi3Iterador
//2: avanzo un paso el puntero para que este quede detrás de "dos"
mi3Iterador++;
//3: intento hacer la insercion
mi3Iterador.insert(mi3Iterador, l_pHijos.begin(), l_pHijos.end());
//4: Al compilar me da un error con el siguiente mensaje:
list<AnsiString,allocator<AnsiString>>::iterator |
|
| Volver arriba |
|
 |
Cesar C. Salazar Gonzalez Master


Registrado: 01 Oct 2002Mensajes: 2155Ubicación: San Cristóbal de Las Casas, Chiapas
|
|
| Volver arriba |
|
 |
beta Lt JG

Registrado: 01 Abr 2006Mensajes: 74
|
Publicado: Vie 19 May, 2006 7:51 am Asunto: |
|
|
Muchas gracias César.
Ya conocía el primer enlace que me proporcionabas y no es exactamente lo que busco.
Quizá es que el nombre del operador "insert" es equívoco con lo que pretendo, y la ayuda de Builder, dice puede hacer.
En una lista STL, por lo que he probado, insert al principio o al final no me plantea dificultades.
El problema lo tengo con "intercalar" mediante "insert".
Por lo que he leído, al intercalar en una lista STL, se reorganizan los punteros que vinculan los nodos sin tener que recolocarlos, por lo que la eficacia del proceso es muy elevada. Cosa que no ocurre con los vectores STL, cuyas ventajas se obtienen principalmente en los procesos de búsqueda.
Los ejemplos que he encontrado de "insert" con listas STL, sólo explican su uso al insertar al principio o al final, es decir añadir al principio o al final.
El código que mandé es mi intento, fallido, de intercalar mendiante "insert".
De todas formas, muchas gracias a César, cuyas generosas aportaciones a este foro son referencias a considerar |
|
| 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.
|