Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

COP 4 5 3 0 Proyecto 3 : Contenedor de listas doblemente enlazadas - M dulo de interfaz STL Detalles de la asignaci n Objetivos:

COP4530 Proyecto 3: Contenedor de listas doblemente enlazadas - Mdulo de interfaz STL Detalles de la asignacin Objetivos: Comprender la programacin genrica y la ocultacin de informacin mediante el desarrollo de contenedores genricos. Familiarizarse con el concepto de plantilla de clase y su uso. Uso de clases anidadas (iteradoras). Uso del espacio de nombres. Sobrecarga del operador. Tarea: Implementar una lista de plantilla de clase de lista doblemente enlazada y sus iteradores asociados. Requisitos: se proporciona un archivo de encabezado List.h, que contiene las interfaces de la plantilla de clase de lista doblemente vinculada List. En particular, contiene una estructura de nodo anidada y dos clases de iteradores anidados (iterator y const_iterator). No puede cambiar nada en el archivo List.h. El archivo List.h se adjunta a esta tarea. Se ha incluido un programa controlador test_list.cpp. Es un programa de prueba de ejemplo que ejecutar algunas pruebas en su implementacin de la plantilla de clase de lista doblemente enlazada para diferentes tipos de datos. No realice ningn cambio en este programa de controlador. Sin embargo, su clase ser probada con algo ms que este controlador de muestra. Se recomienda que escriba otros programas de controladores propios para realizar pruebas ms exhaustivas. Debe implementar las funciones miembro de la plantilla de clase de lista doblemente enlazada List en un archivo llamado List.hpp. Tenga en cuenta que List.hpp se ha incluido en el archivo de encabezado List.h (hacia el final del archivo). Como comentamos en la conferencia, no debes intentar compilar List.hpp (o List.h) por s mismos. Estos comprenden un encabezado que se incluir en otros programas que pueda escribir. Debe implementar todas las funciones miembro de List, List::iterator y List::const_iterator, y las funciones sobrecargadas sin clase operator==(), operator. ), y operador() incluido en Lista.h. El diseo del contenedor Lista sigue el presentado en el libro de texto. Tiene tres variables miembro, el tamao, la cabeza y la cola. theSize registra el nmero de elementos de la lista. La cabeza debe apuntar al primer nodo, la cola debe apuntar a un ganglio centinela (uno pas por el ltimo nodo de datos). Una lista vaca slo contendr el ganglio centinela. Su implementacin contendr ms funciones que las de la implementacin del libro de texto. Describimos los requisitos de cada funcin a continuacin (es posible que estas especificaciones no escriban las firmas de las funciones en detalle; consulte el archivo List.h para obtener la declaracin detallada de la funcin). Funciones miembro de la clase const_iterator anidada: const iterator(): constructor predeterminado de parmetro cero. Establezca la corriente del puntero en nullptr. operador: devuelve una referencia al elemento correspondiente en la lista llamando a la funcin miembro retrieve(). operador++(), operador++(int), operador--(), operador--(int): operadores de incremento y decremento de prefijo y postfijo. operador==()y operador!=(): dos iteradores son iguales si se refieren al mismo elemento. recuperar(): devuelve una referencia al elemento correspondiente en la lista. iterador constante (Nodo** p): constructor de un parmetro. Establezca el puntero actual en el puntero del nodo dado p. Nota: La clase const_iterator est diseada para acceder a nodos individuales cambindolos.
image text in transcribed

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Concepts of Database Management

Authors: Philip J. Pratt, Joseph J. Adamski

7th edition

978-1111825911, 1111825912, 978-1133684374, 1133684378, 978-111182591

More Books

Students also viewed these Databases questions