----------------
user: Resuma o uso de vetor em C++
----------------
assistente: Em C++, vector é uma classe modelo usada para definir arrays dinâmicos (também conhecidos como arrays de tamanho variável). Ao usar o tipo de vetor, você pode especificar seu parâmetro de modelo para definir o tipo de elementos no vetor. Aqui estão alguns usos comuns da classe vector: Criando um objeto de vetor: Você pode criar um vetor vazio usando o construtor padrão ou criar um vetor com um valor inicial usando o construtor com o número de elementos e o valor dos elementos, como segue:
vector<int> myVec; // 创建一个空向量
vector<int> myVec2(5, 0); // 创建一个包含5个元素,每个元素的值为0的向量
Acessando elementos em um vetor: Você pode acessar elementos em um vetor usando o operador subscrito [] ou a função at() da seguinte forma:
myVec[0] = 10; // 将第一个元素的值设置为10
myVec.at(1) = 20; // 将第二个元素的值设置为20
int val = myVec[2]; // 获取第三个元素的值
Adicionando elementos no final do vetor: Você pode usar a função push_back() para adicionar elementos no final do vetor da seguinte forma:
myVec.push_back(30); // 在末尾添加一个值为30的元素
Obtenha o tamanho do vetor: Você pode usar a função size() para obter o número de elementos no vetor, da seguinte forma:
int count = myVec.size(); // 获取向量中元素的数量
Iterando sobre os elementos em um vetor: você pode usar um loop for ou um iterador para iterar sobre os elementos em um vetor, como segue:
// 使用 for 循环遍历 vector
for (int i = 0; i < myVec.size(); i++) {
cout << myVec[i] << " ";
}
// 使用迭代器遍历 vector
for (vector<int>::iterator it = myVec.begin(); it != myVec.end(); it++) {
cout << *it << " ";
}
Esvazie os elementos do vetor: Você pode usar a função clear() para deletar todos os elementos do vetor, como segue:
myVec.clear(); // 删除 vector 中的所有元素
Estes são alguns usos comuns da classe vector. Usando vetor, você pode facilmente manipular arrays dinâmicos sem gerenciar manualmente a memória.
-------------------------------------------------- ----------------------------------
usuário: Como usar o vetor para criar uma matriz bidimensional de inteiros
-------------------------------------------------- -----------------------------------
#include <vector>
using namespace std;
int main() {
// 创建一个 3 行 4 列的二维数组
vector<vector<int> > myVec(3, vector<int>(4, 0));
// 对二维数组进行赋值
myVec[0][0] = 1;
myVec[1][2] = 2;
myVec[2][1] = 3;
// 输出二维数组
for (int i = 0; i < myVec.size(); i++) {
for (int j = 0; j < myVec[i].size(); j++) {
cout << myVec[i][j] << " ";
}
cout << endl;
}
return 0;
}
No código acima, primeiro criamos um array bidimensional com um tamanho de 3 linhas e 4 colunas myVec
e inicializamos todos os seus elementos com 0. Em seguida, usamos o operador subscrito []
para acessar myVec
os elementos e atribuir valores a eles. Por fim, use um loop duplo para percorrer todo o array bidimensional e produzir todos os seus elementos.
Vale a pena notar que o vector
aninhamento de tipos permite flexibilidade para criar arrays de dimensões arbitrárias. Por exemplo, podemos criar um array tridimensional, o método é semelhante ao array bidimensional acima, só precisamos aninhar vector
outro no aninhado vector
.