如何在 C++ 中创建复数向量?

How to create a vector of complex numbers in c++?

我有 n 个复数的两个输入(实部和虚部)。我不知道如何将它们一起存储在一个向量中,以便我可以使用 STL 复杂函数执行复杂计算。这是我尝试过的,但超过了时间限制。

vector<complex<double> > a;
for(i=0;i<d;i++)
{
    int temp;
    cin>>temp;
    real.push_back(temp);
}
for(i=0;i<d;i++)
{
    int temp;
    cin>>temp;
    imag.push_back(temp);
}
for(i=0;i<d;i++)
{
    a.push_back(complex<double>(real[i], imag[i]));
}

这是我使用的示例:

double real;
double imaginary;
std::vector<std::complex<double> > database;
//...
std::cin >> real;
std::cin >> imaginary;
const std::complex<double> temp(real, imaginary);
database.push_back(temp);

在上面的例子中,我分别读入了实部和虚部。接下来,我使用实部和虚部创建一个临时 complex 对象。最后我把push_back的值传给了数据库。