Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Más problemas con el uso de insert sobre una STL list

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Más problemas con el uso de insert sobre una STL list Responder citando

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
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Verifica estos enlaces
https://cppbuilder.es/viewtopic.php?t=9088&highlight=vector
Inserta un elemento dentro de un vector, teoricamente el vector y list funcionan de igual maner

y algo que te pude ayudar

https://cppbuilder.es/viewtopic.php?t=9185&highlight=vector

saludos
_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

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
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
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


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.