Este artículo explica cómo crear un vector de vectores y cómo aplicar algunas funciones miembro obvias del vector, al vector de vectores. Para hacer esto, el programa C ++ debe comenzar con:
#incluirTenga en cuenta la inclusión de la biblioteca vectorial.
Contenido del artículo
Construcción
La construcción de un vector normal comienza con:
vectorEl nombre es el nombre del vector. El siguiente código crea un vector unidimensional con una lista de inicialización arriesgada de 5 caracteres:
vectorPara construir un vector de vectores, comience con:
vectorObserve cómo una plantilla vectorial se ha convertido en otro argumento de plantilla. Entonces, debe interpretarse como vector de vectores del mismo tipo. El nombre es el nombre del vector de vectores. El siguiente código crea un vector bidimensional con 6 listas de inicialización de 5 caracteres cada una para 6 filas.
vectorEl vector exterior literal, tiene delimitadores, y. Cada vector para una fila tiene delimitadores, y. Los literales de vector de fila están separados por comas. La finura de la finura está en el extremo inferior derecho de la tabla de creación. El vector 2D podría haberse creado de la siguiente manera:
vectorEs decir, se crea un vector 1D y su nombre variable se usa como identificadores para las diferentes filas.
Ahora, las filas en realidad pueden tener diferentes contenidos. En ese caso, cada fila será un vector diferente con un nombre diferente.
Acceso con índices
La sintaxis para acceder a un elemento es:
2dvectorname [i] [j]Donde yo es la variable para una fila en particular, y j es la variable para una columna en particular. El conteo de filas comienza desde cero, y el recuento de columnas también comienza desde cero. El vector bidimensional de los vectores no tiene que ser regular; es decir, el número de columnas para cada fila no tiene que ser el mismo. El siguiente código lee el valor de la fila de índice 2 (tercera fila) y la columna del índice 3 (cuarta columna):
vectorLa salida es, 'D'.
Esto se puede cambiar y leer nuevamente de la misma manera, con el siguiente segmento de código:
VTR [2] [3] = 'Z';En este caso, la salida es 'Z'.
Acceso en secuencia
Se puede acceder a la primera fila a partir del primer elemento, luego el segundo elemento, luego el tercer elemento, hasta el último elemento de la primera fila. Luego, se puede acceder a la siguiente fila de la misma manera, luego la después, y luego la siguiente, hasta que se complete la última fila. Esto necesita dos bucles para que el siguiente código ilustra:
vectoronedv = 'a', 'b', 'c', 'd', 'e';Tenga en cuenta que TWODV.size () da el número de filas para toda la tabla, mientras que TWODV [i].size () da el número de celdas (columnas) para una fila particular.
Insertando una fila
Insertando en el frente
Una fila es para un vector 2D, como una celda es para un vector 1D. Se usa el mismo enfoque de inserción, pero en lugar de una célula literal, se usa una fila literal; En lugar de un identificador de valor, un identificador de fila (e.gramo., se usa twodv [i]). El siguiente código muestra cómo se inserta una fila frente al vector 2D:
vectorLa función de miembro Begin () devuelve un iterador que apunta a la primera fila del vector 2D. Tenga en cuenta que el iterador devuelto debe ser de tipo vector de vectores (e.gramo. vector
Insertando dentro
El siguiente código inserta una fila dentro de la tabla, frente a la tercera fila puntiaguda:
vectorEl iterador se incrementó dos veces para apuntar a la tercera fila antes de la inserción. La declaración de inserción podría haberse escrito igualmente como,
TWODV.insert (p, '*', '$', '%', '$', '&');El resultado habría sido el mismo.
Agregar una fila
Se puede agregar una fila utilizando la función unidimensional push_back (). El siguiente código ilustra esto:
vectorLa instrucción push_back () podría haberse escrito igualmente como,
TWODV.push_back ('*', '$', '%', '$', '&');El resultado habría sido el mismo.
Borrando filas
El siguiente código utiliza la función de miembro vectorial ERASE () unidimensional para borrar la segunda y tercera filas, aunque el segundo iterador apunta a la cuarta fila, del vector de 5 filas de vectores:
vectorLa función de miembro del vector de end () unidimensional devuelve un iterador, que apunta justo después del final del vector unidimensional (que ahora es un vector de vectores). Se disminuye dos veces en el código anterior, para apuntar a la última berina. Siempre que se borre una gama de elementos o filas, el elemento o la fila apuntan por el segundo iterador, no se borra.
Claro
Un elemento es para un vector unidimensional, como una fila es para un vector bidimensional (vector de vectores). Todas las filas de un vector se pueden borrar con la función miembro unidimensional transparente (). El siguiente código ilustra esto:
vectorConclusión
Un elemento es para un vector unidimensional, como una fila es para un vector bidimensional (vector o vectores). Todas las funciones de miembros unidimensionales para el vector unidimensional se pueden usar para el vector bidimensional, abordando las filas en lugar de los elementos. Se puede acceder a las células individuales de la tabla con TWODV [I] [J], donde TWODV, I y J tienen sus significados comunes. El vector de las filas se puede abordar con TWODV, y cada fila se puede abordar con TWODV [i].