矢量库
#include
int main() {
std::vector floatvectorvariable;
return 0;
}
namespace命名空间
#include
#include
using namespace std;
int main() {
vector intvectorvariable;
int intvariable = 5;
cout << intvariable << endl;
return 0;
}
现在,向量声明,cout和endl不再需要std ::,这让你的程序知道你的意思是标准库中的cout函
python list Vs C++
声明一个向量然后为其赋值:
vector myvector(5);
myvector[0] = 5.0;
myvector[1] = 3.0;
myvector[2] = 2.7;
myvector[3] = 8.2;
myvector[4] = 7.9;
同时声明和定义
std::vector myvector (10, 6);
代码将声明一个包含十个元素的向量,每个元素的值为6。
std::vector myvector = {5.0, 3.0, 2.7, 8.2, 7.9}
向量和循环
#include
#include
using namespace std;
int main() {
vector example;
for (int i = 0; i < 5; i++) {
example.push_back(i*5.231);
}
for (int i = 0; i < example.size(); i++) {
cout << example[i] << endl;
}
return 0;
}
2D 向量
假设您正在使用Python并希望存储3乘5矩阵。你可以这样做
matrixexample = [[2, 1, 5], [7, 9, 2], [16, 5, 9], [5, 2, 1], [1, 2, 4]]
在C ++中,您将通过向向量附加向量来创建类似的结构。下面是Python和C ++代码的比较
替代初始化
vector < vector > twodvector (5, vector (3, 2));
只有Python用方括号[]表示向量或矩阵。较新版本的C ++可以使用波浪形括号来表示向量{},但较旧的C ++实现没有等效表示
像下面这样的代码行不能在C ++中运行:
vector < vector > twodvector (5, [2, 2, 2]);
2D向量循环
for (int row = 0; row < twodvector.size(); row++) {
for (int column = 0; column < twodvector[0].size(); column++) {
cout << twodvector[row][column] << " ";
}
cout << endl;
键入twodvector.size()时,将为您提供外部向量的大小。外部向量有五个元素,表示矩阵中的行数.
当你写作时twodvector[0].size()
,你正在获取外部向量的第一个元素[2 2 2],并询问该向量的大小