C++ vectors

矢量库
#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],并询问该向量的大小

你可能感兴趣的:(C++ vectors)