English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C++Uso de vector contenedor

En c++En, vector es un contenedor muy útil, a continuación, haremos un resumen de este contenedor.

1 Operaciones básicas

(1)Cabeza de archivo #include<vector>.

(2)Crear objeto vector, vector<int> vec;

(3)Insertar número en la cola:vec.push_back(a);

(4)Acceder a los elementos usando índices, cout<<vec[0]<<endl;Recuerda que los índices comienzan en 0.

(5)Acceder a los elementos usando el iterador.

vector<int>::iterator it;
for(it=vec.begin();it!=vec.end();it++)
cout<<*it<<endl;

(6)Insertar elemento: vec.insert(vec.begin()+i,a);En el i+1elementos antes de insertar a;

(7)Eliminar elemento: vec.erase(vec.begin()+2);Eliminar el3elementos

vec.erase(vec.begin()+i,vec.end()+j);Eliminar el rango [i,j-1];El rango comienza en 0

(8)Tamaño del vector:vec.size();

(9)Borrar:vec.clear();

2

Los elementos del vector no solo pueden ser int, double, string, sino también estructuras, pero se debe prestar atención: la estructura debe definirse como global, de lo contrario, se producirá un error. A continuación, se muestra un fragmento breve de código.

#include<stdio.h>
#include<algorithm>
#include<vector>
#include<iostream>
using namespace std;
typedef struct rect
{
int id;
int length;
int width;
  //Para los elementos de un vector que son estructuras, se puede definir una función de comparación dentro de la estructura. A continuación, se ordena en orden ascendente de id, length, width.
  bool operator< (const rect &a) const
{
if(id!=a.id)
return id<a.id;
else
{
if(length!=a.length)
return length<a.length;
else
return width<a.width;
}
}
}Rect;
int main()
{
vector<Rect> vec;
Rect rect;
rect.id=1;
rect.length=2;
rect.width=3;
vec.push_back(rect);
vector<Rect>::iterator it=vec.begin();
cout<<(*it).id<<' '<<(*it).length<<' '<<(*it).width<<endl; 
return 0;
}

3 Algoritmo

(1) Invertir los elementos utilizando reverse: se necesita incluir el archivo de encabezado #include<algorithm>.

reverse(vec.begin(),vec.end()); invertir los elementos (en vector, si un función necesita dos iteradores,

Generalmente, el siguiente no incluye.)

(2Para usar sort, se necesita incluir el archivo de encabezado #include<algorithm>.

sort(vec.begin(),vec.end()); (por defecto se ordena en orden ascendente, es decir, de menor a mayor).

Se puede sobrescribir la función de comparación de ordenación para comparar en orden descendente, como se muestra a continuación:

Definir la función de comparación de ordenación:

bool Comp(const int &a,const int &b)
{
return a>b;
}

Al llamar: sort(vec.begin(),vec.end(),Comp), se ordena en orden descendente.

Lo mencionado anteriormente es lo que el editor les ha presentado en C++El uso del contenedor vector en chino, espero que sea útil para todos. Si tienen alguna pregunta, déjenme un mensaje y el editor responderá a tiempo. También muy agradecido por el apoyo a la página web de tutorial de gritos!

Declaración: El contenido de este artículo se obtiene de la red, es propiedad del autor original, el contenido se contribuye y carga espontáneamente por los usuarios de Internet, este sitio no posee los derechos de propiedad, no ha sido editado artificialmente y no asume responsabilidades legales relacionadas. Si encuentra contenido sospechoso de copyright, le invitamos a enviar un correo electrónico a: notice#oldtoolbag.com (al enviar un correo electrónico, reemplace # con @) para denunciar, y proporcione evidencia relevante. Una vez confirmado, este sitio eliminará inmediatamente el contenido sospechoso de infracción.

Te gustará