Una pregunta de programación en C sobre contenedores de plantillas
Escriba una plantilla de función CountEq que tome el tipo de contenedor de secuencia T como parámetro de plantilla.
Devuelve el número de elementos en el contenedor de secuencia que son iguales al elemento especificado.
En main():
(1) Construya una lista L1 con tipo de elemento int, obtenga y genere el número de elementos en L1 que son iguales al elemento especificado a través de CountEq;
(1) p>
(2) Construya una lista L2 cuyo tipo de elemento sea doble, obtenga y genere el número de elementos en L2 que son iguales al elemento especificado a través de CountEq.
(3) Construya una cola de doble extremo (deque) Q1 con un tipo de elemento int y obtenga y genere el número de elementos en Q1 que son iguales al elemento especificado a través de CountEq.
Requisito: utilizar un iterador para recorrer el contenedor y obtener el resultado de CountEq. Consejo: T::value_type es el tipo de elemento del contenedor de tipo T; T::iterator es el tipo de iterador del contenedor de tipo T.
*/
#include lt;iostreamgt;
#include lt;listgt;
#include lt;algorithmgt; p>
p>
Usar espacio de nombres std;
template lt; typename Tgt
int CountEq(T *ele, listlt; Tgt; listele)
{
int count=0;
if ((find(listele.listele.end(), *ele) ! = NULL)
recuento;
else
recuento=0;
retorno recuento
}
int main( )
{
listlt;intgt;L1;
intfindNum=20; p>
L2.push_front(30.5);
L2.push_front(40.5);
L2.push_front(50.5);
cout lt; lt."Pass CountEq Obtiene y genera el número de elementos en L1 que son iguales al elemento especificado" lt; CountEq(amp; findNum, L1) lt; p>
.