función std :: replace_copy () con ejemplo en STL C ++

C ++ STL | std :: replace_copy () la función : Aquí, vamos a aprender sobre la replace_copy () la función del algoritmo de cabecera en C ++ STL con el ejemplo .

C ++ STL std :: replace_copy (función)

replace_copy () función es una función de biblioteca de algoritmo cabecera, se utiliza para reemplazar valor en el rango y copiar los elementos en el resultado con reemplazado valores, se acepta una gama [principio, fin] de la secuencia, la posición de la resultado secuencia, valor antiguo y nuevo comienzo y que sustituye a la de todo old_value con el nuevo_valor en el rango y copia el rango a la gama a partir de resultado.

Nota: Para utilizar función replace_copy () – class & lt; algoritmo de & gt; cabecera o puede utilizar sencilla . & Lt; bits / STDC ++ h & gt; archivo de cabecera.

Sintaxis de std :: replace_copy () la función

    std::replace_copy(
iterator start,
iterator end,
iterator start_result,
const T& old_value,
const T& new_value);

Parámetro (s):

  • iterador empezar, iterador final – estos son los iteradores que apuntan a las posiciones de inicio y finalización en el recipiente, en el que tenemos para ejecutar la operación de sustitución.
  • iterador start_result – ¿Es el iterador comienzo de la secuencia resultado.
  • old_value – un valor a ser reemplazado.
  • nuevo_valor – un valor que se asignará en lugar de un old_value.

include valor: iterador – devuelve un iterador que apunta al elemento que sigue al último elemento que se escribe en la secuencia resultado.

Ejemplo: programa

    Input:
//an array (source)
int arr[] = { 10, 20, 30, 10, 20, 30, 40, 50, 60 };
//declaring a vector (result sequence)
vector<int> v(6);
//copying 6 elements of array to vector
//by replacing 10 to -1
replace_copy(arr + 0, arr + 6, v.begin(), 10, -1);
Output:
vector (v): -1 20 30 -1 20 30

C ++ STL para demostrar el uso de std :: replace_copy () función

En este programa, tenemos una matriz y estamos copiando sus 6 elementos a un vector mediante la sustitución de 10 con -1.

//C++ STL program to demonstrate use of
//std::replace_copy() function
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
//an array
int arr[] = { 10, 20, 30, 10, 20, 30, 40, 50, 60 };
//declaring a vector
vector<int> v(6);
//printing elements
cout << "before replacing, Array (arr): ";
for (int x : arr)
cout << x << " ";
cout << endl;
cout << "vector (v): ";
for (int x : v)
cout << x << " ";
cout << endl;
//copying 6 elements of array to vector
//by replacing 10 to -1
replace_copy(arr + 0, arr + 6, v.begin(), 10, -1);
//printing vector elements
cout << "after replacing, Array (arr): ";
for (int x : arr)
cout << x << " ";
cout << endl;
cout << "vector (v): ";
for (int x : v)
cout << x << " ";
cout << endl;
return 0;
}

salida

before replacing, Array (arr): 10 20 30 10 20 30 40 50 60
vector (v): 0 0 0 0 0 0
after replacing, Array (arr): 10 20 30 10 20 30 40 50 60
vector (v): -1 20 30 -1 20 30

Referencia: C ++ std :: replace_copy ()


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *