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

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

本文关键字:向量 创建 c++      更新时间:2023-10-16

我有两个输入(实部和虚部(用于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到数据库。