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