Un conjunto con nombre de elementos del mismo tipo se denomina matriz. Tal organización de datos tiene muchas ventajas obvias y un inconveniente: al crear una matriz, es necesario declarar su tamaño por adelantado, que no se puede cambiar por medios convencionales en el futuro. La solución a este problema es desarrollar matrices dinámicas que puedan cambiar el número de sus elementos en cualquier momento. Además, para ello, puede utilizar las dos clases ya creadas e implementar la suya propia utilizando herramientas de lenguaje de programación estándar.
Instrucciones
Paso 1
La esencia principal de una matriz dinámica es asignar memoria para los datos almacenados en ella exactamente en el tamaño en que se necesita en ese momento. Es más conveniente implementar esta construcción en forma de clase, un contenedor para una matriz. Aquí es necesario proporcionar todas las funciones que realizan la asignación y liberación de memoria para una matriz, así como los operadores que brindan acceso a sus elementos.
Paso 2
Cree un objeto de la clase contenedora de matriz dinámica y el constructor asignará automáticamente memoria del tamaño especificado. Si, a medida que se llena el arreglo, la memoria para los elementos estará completamente ocupada, al agregar los siguientes datos, se realizan las siguientes acciones: - toda la información del arreglo se almacena en almacenamiento temporal (arreglo auxiliar); liberado por un comando especial (liberar, eliminar); - la memoria se asigna en la matriz del tamaño que se requiere para contener todos los datos - todos los valores "antiguos" se colocan en la nueva matriz desde el almacenamiento temporal y se agrega el elemento.
Paso 3
La mejor forma de trabajar con matrices dinámicas es utilizar las clases de biblioteca existentes. Uno de los ejemplos más comunes es la clase de vector. Incluye todas las funciones e iteradores necesarios para el funcionamiento de una matriz mutable. Además, el módulo de biblioteca que contiene esta clase se suministra con cualquier versión del compilador de C ++.
Paso 4
Incluya la biblioteca de matriz dinámica con el comando #include. Usa la clase de vector para crear un objeto. Moverse por la matriz es igual que en el caso habitual, utilizando índices. Las características especiales aquí son las funciones para agregar y eliminar nuevos elementos, así como una serie de métodos auxiliares Un ejemplo de código para crear y operar un vector de matriz dinámica: #include vector; vector int Mass; // declaración de una matriz dinámica con elementos de tipo intMas.push_back (10); // agregando el primer elemento - número 10 Mas.push_back (15); // agregando el segundo elemento - número 15Mas [1] = 30; // el segundo elemento se escribe el número 30Mas.pop_back (); // borrando el último elemento del arreglo Aquí, al crear un arreglo dinámico llamado Mass, se debe especificar el tipo de sus elementos (int), en este caso no se especifica la dimensión.