Compartir tecnología

[Enamorarse de C] Explicación detallada del uso de vectores

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina


Hola ~ compañeros de clase, este artículo profundizará en el contenedor de vectores en C. Como una de las matrices dinámicas más utilizadas en la Biblioteca de plantillas estándar (STL), el vector proporciona almacenamiento de elementos flexible y métodos de acceso eficientes. Comenzaremos con los conocimientos básicos y gradualmente aprenderemos sus operaciones de creación, inicialización, recorrido, gestión de espacio, adición, eliminación, verificación y modificación. A través de ejemplos y análisis detallados, esperamos ayudar a los lectores a comprender y dominar completamente las habilidades y precauciones para el uso de vectores.

1: Introducción al vector

vectordocumento

  1. Un vector es un contenedor de secuencia que representa una matriz de tamaño variable.
  2. Al igual que las matrices, los vectores también utilizan un espacio de almacenamiento continuo para almacenar elementos. Esto significa que puede utilizar subíndices para acceder a los elementos del vector, que es tan eficiente como una matriz. Pero a diferencia de una matriz, su tamaño se puede cambiar dinámicamente y el contenedor lo manejará automáticamente.
  3. Esencialmente, vector utiliza una matriz asignada dinámicamente para almacenar sus elementos. Cuando se insertan nuevos elementos, es necesario cambiar el tamaño de la matriz para aumentar el espacio de almacenamiento. Esto se hace asignando una nueva matriz y luego moviendo todos los elementos a esta matriz. En términos de tiempo, esta es una tarea relativamente costosa, porque el vector no cambia de tamaño cada vez que se agrega un nuevo elemento al contenedor.
  4. Estrategia de asignación de espacio de vector: el vector asigna algo de espacio adicional para acomodar un posible crecimiento porque el espacio de almacenamiento es mayor que el espacio de almacenamiento real requerido. Diferentes bibliotecas utilizan diferentes estrategias para compensar el uso y la reasignación del espacio. Pero en cualquier caso, la reasignación debe aumentar logarítmicamente en el tamaño del intervalo, de modo que la inserción de un elemento al final se realice en tiempo constante.
  5. Por lo tanto, vector ocupa más espacio de almacenamiento para poder administrar el espacio de almacenamiento y crecer dinámicamente de manera eficiente.
  6. En comparación con otros contenedores de secuencia dinámica (deque, list y forward_list), vector es más eficiente al acceder a elementos, y agregar y eliminar elementos al final es relativamente eficiente. Para otras operaciones de eliminación e inserción que no están al final, la eficiencia es aún menor. Es mejor utilizar referencias y iteradores unificados que list y forward_list.


Hay tres ámbitos en el uso de STL: poder usarlo, poder comprenderlo y poder expandirlo. A continuación, aprenderemos vector. También seguiremos este método para aprenderlo.

2: Creación e inicialización de vector.

Necesita archivo de encabezado#include