Funciones de Multiset C ++

Funciones de Multiset C ++
El componente multiset de la biblioteca estándar C ++ se utiliza para el almacenamiento y el acceso desde un conjunto donde los valores de los componentes involucrados se emplean como los valores clave para organizar dinámicamente los datos, incluso si no tienen que ser únicos. No es fácil modificar manualmente el valor clave de un elemento en una multiset. Más bien, se deben agregar los componentes que tienen nuevos valores y los valores antiguos deben eliminarse de los componentes. Las multisets son contenedores que son idénticos a los contenedores establecidos. Contienen los valores en forma de claves en una secuencia particular, al igual que un conjunto. Los elementos de un Multiset se especifican como claves al igual que los conjuntos.

La distinción principal entre un conjunto y un Multiset es que un conjunto tiene claves separadas, pero un Multiset permite claves con un valor similar. Los árboles de búsqueda binarios se implementan utilizando claves multiset. Una vez que los elementos están incluidos en el Multiset, estos elementos no pueden modificarse; solo se pueden agregar o eliminar. El archivo de encabezado para #include contiene una multiset. Los iteradores se pueden usar para recuperar los componentes de la multiset.

Métodos utilizados en multisets

Aquí están los siguientes métodos multisetín de C ++:

  • Función begin (): proporciona un iterador al elemento inicial del conjunto.
  • Función end (): proporciona un iterador al elemento después del elemento final del conjunto.
  • Función size (): proporciona la información de tamaño de la multiset.
  • Función Insert (): agrega un elemento al Multiset.
  • Función ERASE (): elimina los componentes de la Multiset.
  • FUNCIONA () Función: si el elemento se encuentra, esta función le da a un iterador que se refiere a él; De lo contrario, proporciona un iterador que se refiere al final de la Multiset.
  • Función Clear (): Elimina todos los elementos de Multiset.
  • Función vacía (): nos informa sobre el estado de Multiset como en blanco o no.

Discutamos el uso de estas funciones.

Ejemplo 1:

El método incorporado () de C ++ STL se especifica en el archivo de encabezado. El iterador devuelto por este método apunta al primer elemento en el contenedor multisetio que está relacionado con. La función Begin () se refiere al componente que es el primer elemento del contenedor basado en la condición de clasificación porque los contenedores de múltiples redes conservan los elementos en orden ascendente.

#incluir
usando el espacio de nombres STD;
int main ()
int a [] = 22, 34, 51, 83, 68, 50, 96;
Multisetcheck (A, A + 7);
cout<<"The elements of the list are: ";
Para (Auto X = Check.comenzar(); X != Verificar.fin(); x ++)
cout<< *x << " ";
cout<<"\nFirst element of the list: "<<*(check.begin());
regresar 0;

En primer lugar, presentamos el archivo de encabezado . Este archivo de encabezado está asociado con la utilización de las funciones multiset en programas C ++. Luego, usamos el espacio de nombres estándar como STD. Ahora, invocamos el método Main (). Aquí, inicializamos una matriz. Esta matriz contiene 7 valores diferentes. Estos elementos de la matriz se guardan en una variable "A". Luego, utilizamos la función multisetín. Aquí, pasamos la matriz como el parámetro de la función. Ahora, la declaración de "cout" se usa para mostrar todos los elementos de la lista requerida. Aplicamos el bucle "para". Este bucle itera cada valor de la lista hasta que se cumpla la condición.

Empleamos los métodos Begin () y End () dentro del bucle "para". La función begin () inicia la lista a imprimir. Mientras que la función final () termina la lista. A continuación, aumentamos el valor de la variable de bucle. Usamos nuevamente la instrucción "Cout" para imprimir el primer valor de la lista especificada. Usamos el método Begin () para obtener el primer valor de la lista,. Al final, entramos en el comando "return 0".

Ejemplo 2:

La función End () es una parte incorporada del C ++ STL y se encuentra en el archivo de encabezado. Esta función devuelve un iterador que apunta al contenedor multisetio antes de la ubicación final. El elemento que viene después del último elemento en un contenedor multiset se conoce como el componente anterior. En otras palabras, no apunta a ningún componente de contenedor multisetín en particular. Este método no toma ningún argumento.

#incluir
usando el espacio de nombres STD;
int main ()
int v [] = 24, 64, 19, 35, 82, 59, 46;
Multisetcheck (V, V + 7);
cout<<"The items of the list are: ";
Para (Auto J = Check.comenzar(); j != Verificar.fin(); j ++)
cout<< *j << " ";
regresar 0;

Primero, el archivo de encabezado "bits/stdc++.H ”se agrega. Esta biblioteca se asocia con la forma en que se utilizan las funciones de Multiset en los programas C ++. El espacio de nombres estándar ahora está incluido y denotado como STD. Ahora que invocamos el método Main (), ejecutamos los scripts en el cuerpo de la función. Aquí, se inicializa una matriz. Hay 7 elementos diferentes en esta matriz. Los elementos de esta matriz se mantienen en la variable "V."La función multiset se llama entonces. El número real de elementos en la matriz especificada también se indica.

Ahora, toda la lista requerida se muestra utilizando la instrucción "Cout". Usamos el bucle "para". Este bucle repite cada valor en la lista hasta que se cumpla el requisito. Llamamos a los métodos Begin () y End () en el bucle "para". La lista que se mostrará se inicia mediante el método Begin (), y se completa con la ayuda de la función End (). El valor de "j" aumenta en el último segmento del bucle "para". Empleamos la declaración "Cout" una vez más. La declaración "Return 0" se ejecuta al final.

Ejemplo 3:

El archivo de encabezado "bits/stdc++.H "contiene el método de conte () incorporado de la biblioteca de plantillas estándar C ++. Con la ayuda de esta función, determinamos cuántos elementos tienen una cierta clave. Esta función se puede aplicar para contar el número de veces. El mismo elemento se usa en un Multiset porque un Multiset puede incluir muchos valores para un miembro en particular. En todo el contenedor, Count () busca la clave y luego devuelve los resultados. El método devuelve 0 si no hay ninguno de los elementos que estamos buscando en el conjunto. Se debe examinar el contenedor multisetengo relacionado para conocer el valor único del método como argumento, que se necesita.

#incluir
usando el espacio de nombres STD;
int main ()
int u [] = 78, 23, 56, 78, 91, 16, 78, 62;
Multisetcheck (U, U + 8);
cout<<"The values of the list are: ";
Para (Auto L = Check.comenzar(); l != Verificar.fin(); L ++)
cout<< *l << " ";
cout<< "\n78 is present: "<cout<< "\n56 is present: "<regresar 0;

Al principio, incluimos la biblioteca. En el siguiente paso, utilizamos el espacio de nombres predeterminado. El método main () ahora se llama. Aquí, se inicializa una matriz. Se especifican ocho enteros diferentes en esta matriz. Estos miembros de la matriz se mantienen en una variable llamada "u."A continuación, usamos el método multiset. Aquí, proporcionamos la matriz como parámetro a la función multiset. También indicamos el recuento general de elementos de esa matriz. Los valores de la lista requerido se muestran luego utilizando la instrucción "Cout". El bucle "para" se usa aquí. Hasta que se cumpla la condición, este bucle itera a través de cada elemento en la matriz.

Usamos las funciones Begin () y End () con el bucle "para". La lista comienza a imprimir cuando se usa el método Begin (). Pero la lista termina mediante el método End (). El valor del "i" aumenta dentro del bucle "para". Una vez más, el comando "cout" se aplica para imprimir la probabilidad con la que el número 78 aparece en la lista definida. Se llama al método "Count ()" para encontrar la probabilidad. También queremos saber con qué frecuencia existe el valor "56" en la lista. Entonces, usamos la función Count () una vez más. Para mostrar la respuesta, utilizamos la declaración de "cout". La instrucción "Devolver 0" se escribe al finalizar el código.

Ejemplo 4:

El valor dado como el punto de un parámetro se elimina mediante el método multiset, ERASE (). Ejecute el siguiente programa para ver cómo funciona el método ERASE ():

#incluir
usando el espacio de nombres STD;
int main ()

Multisetset;
multiset :: iterator ITR;
para (int k = 1; k < 20; k++)
colocar.insertar (k);

cout<< "Original set: ";
para (itr = set.comenzar();
ITR != establecer.fin();
++ITR)
cout
<< " << *itr;
cout<< '\n';
ITR = SET.comenzar();
ITR ++;
colocar.borrar (ITR);
cout<< "Updated set: ";
para (itr = set.comenzar();
ITR != establecer.fin();
++ITR)
cout<< " << *itr;
cout<< '\n';
regresar 0;

Aquí, incorporamos la biblioteca . Este archivo de encabezado se ocupa del uso de las funciones de Multiset. Entonces, usamos el espacio de nombres estándar. Junto con esto, llamamos a la función principal (). Utilizamos la función multisetenga dos veces. Para el primer método multiset, el conjunto se pasa como un atributo. Y para el segundo método multiset, el iterador "ITR" se proporciona como argumento.

Además, aplicamos el bucle "para". Inicializamos primero una variable de bucle. Luego, el bucle itera sobre el valor inferior a 20. A continuación, realice un incremento en la variable de bucle. Usamos la declaración "Cout" para mostrar el conjunto real de elementos. Usemos el bucle "para" una vez más. Aquí, llamamos al método Begin (). Junto con esto, invocamos la función End (). Aplicamos estas funciones sobre el valor del iterador "ITR". Entonces, el valor del iterador aumenta en 1. Queremos eliminar el segundo valor del conjunto requerido, por lo que usamos el método ERASE ().

Después de esto, la instrucción "Cout" se aplica para imprimir los elementos del conjunto después de la eliminación del segundo valor. Para mostrar los elementos del conjunto en una secuencia, utilizamos el bucle "para" nuevamente. Dentro del bucle "para", las funciones begin () y fin () se emplean para comenzar y terminar el conjunto. Al final, utilizamos el comando "return 0".

Ejemplo 5:

En esta ilustración, insertamos los valores en el conjunto utilizando la función Multiset Insert (). Luego, eliminamos todos los elementos del conjunto utilizando el método multiset claro ().

#incluir
#incluir
usando el espacio de nombres STD;
int main ()
Multiset A1;
múltiple a2;
para (int j = 0; j < 15; j++)
A1.insertar (j + 1);

para (int j = 0; j < 15; j++)
A1.insertar (j + 1);

para (int j = 0; j < 15; j++)
a2.insertar ((j + 1) * 10);

para (int j = 0; j < 15; j++)
a2.insertar ((j + 1) * 10);

set :: iteratorIder;
para (iter = a1.comenzar(); iter != A1.fin(); iter ++)
cout<< * iter<< " ";
cout<< '\n';
para (iter = a2.comenzar(); iter != A2.fin(); iter ++)
cout<< * iter<< " ";
cout<< '\n';

Incluimos dos archivos de encabezado y al comienzo del código. Junto con esto, utilizamos un espacio de nombres estándar. Luego, llamamos a la función principal (). Comencemos a codificar en el cuerpo de la función principal (). Primero, llamamos a la función multisetenga dos veces. Inicializamos dos variables diferentes llamadas "A1" y "A2". Luego, aplicamos el bucle "para".

Después de inicializar la variable de bucle, aplicar la condición en la variable de bucle e incrementar el valor de la variable de bucle, usamos el método Insert () para agregar los elementos. Además, invocamos la función establecida. Aquí, declaramos una variable "iter" para el iterador. Aumentamos el valor del "iter". El bucle "para" se usa para ambas variables "A1" y "A2", respectivamente.

A1.borrar (6);
a2.borrar (A2.begin (), a2.encontrar (12));
cout<< "After removing the element from the required set, now the size will be: " << a1.size() << '\n';
int v = 9;
if (a1.encontrar (v) != A1.fin())
cout<< "The defined set has: " << v << " values" <demás
cout<< "The defined set does not have: " << v <cout<< "The new values of the set: ";
para (iter = a1.comenzar(); iter != A1.fin(); iter ++)
cout<< * iter<< " ";
cout<< '\n';
A1.claro();
if (a1.vacía () == true)
cout<< "The set has no element";

regresar 0;

Además, usamos el método ERASE (). A continuación, usamos el método find () para obtener el elemento "12" desde el conjunto. Usamos la instrucción "Cout" para mostrar el conjunto después de eliminar el elemento "6". Luego, inicializamos una variable "V". Llamamos a las funciones find () y end () dentro de la condición "if" que están asociadas con el primer conjunto. Aplicamos la condición "if" en el elemento proporcionado a la función find (). Si se cumple esa condición, "Cout" imprime los elementos del set. De lo contrario, la instrucción "Cout" imprime el mensaje que muestra que el valor requerido no está presente en el conjunto.

Una vez más, empleamos las funciones "for" bucle, begin () y final (). Al final, aplicamos el método Clear () y la condición "Si". Definimos la condición en el cuerpo de la condición "si". Si el conjunto está vacío, la declaración "Cout" muestra el texto "El conjunto no tiene elemento". Después de todo esto, se ingresa el comando "return0".

Conclusión

Primero, hablamos sobre lo que es una Multiset C ++. Luego, observamos varias funciones de C ++ aplicadas a multisets. En este artículo, ejecutamos varios códigos que contienen una variedad de métodos multisetonía. En la primera ilustración, utilizamos la función begin () y demostramos su funcionalidad. Un iterador que se refiere al primer miembro del Multiset vinculado a este método es el valor de retorno de la función. El segundo ejemplo mostró cómo emplear la función final () múltiple. La salida de este método es un iterador que apunta más allá del último componente de la multiset. El método Count () se usa en la siguiente instancia para examinar qué sucede en el código. Esta función totaliza a todos los enteros que están disponibles y comparten la misma clave. Luego, ejecutamos el programa usando la función ERASE (). El elemento se elimina del conjunto utilizando este enfoque. Para agregar el elemento al conjunto, finalmente utilizamos la técnica insert ().