Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: TheFlash en 5 Enero 2017, 22:38 pm



Título: Insertar un array dentro de otro en una posición especifica.
Publicado por: TheFlash en 5 Enero 2017, 22:38 pm
La idea es que tengo dos vectores(arrays) y quiero insertar el contenido del primero en una posición específica del segundo.

He encontrado una forma ineficiente de hacerlo:
Código
  1. InsertaSecuencia(SecuenciaCaracteres a_insertar, int posicion){
  2. for(int i=0; i < a_insertar.total_utilizados; i++){
  3.  
  4.     if (total_utilizados < TAMANIO  &&  pos_insercion >= 0    
  5.         && posicion <= total_utilizados){
  6.  
  7.         for (int i = total_utilizados ; i > posicion ; i--)
  8.            vector_privado[i] = vector_privado[i-1];
  9.  
  10.         vector_privado[posicion] = a_insertar.vector_privado[i];
  11.         total_utilizados++;
  12.         posicion++;
  13.      }
  14. }
*Nota: Se trata de un método dentro de una clase. Por eso muchas de las variables no están declaradas.

Pero la idea, y lo que me pide el ejercicio es hacer un algoritmo que haga lo mismo pero haciendo uso de un solo bucle.


Título: Re: Insertar un array dentro de otro en una posición especifica.
Publicado por: francosmp en 6 Enero 2017, 04:03 am
Ola TheFlash ! pues veras, hay una biblioteca llamada vector a la cual le mandas la posicion y te insertara lo que desees.
aqui te dejo el link : http://www.cplusplus.com/reference/vector/vector/insert/