如何解决给二维向量赋值
vector<vector<int>> queue_and_stack(vector<int> A,int n)
{
// Write your code here
int i,j,k;
j = 0;
k = 0;
vector<vector<int>> myVector;
int chec;
for (i = 0; i < n; i++)
{
chec = prime(A[i]);
if (chec == 1)
{
myVector[0][j] = A[i];
j++;
}
else
{
myVector[1][k] = A[i];
k++;
}
}
return myVector;
}
我想为myVector赋值,但是我不知道它应该有什么大小,我不知道代码有什么问题,但是它在运行时给出了垃圾值。
解决方法
在vector<vector<int> > myVector;
之后,myVector
没有元素,因此您必须添加元素。
尝试一下:
vector<vector<int> > queue_and_stack (vector<int> A,int n) {
// Write your code here
int i;
vector<vector<int> > myVector(2); // allocate 2 empty vectors
int chec;
for(i=0;i<n;i++)
{
chec = prime(A[i]);
if(chec == 1)
{
myVector[0].push_back(A[i]); // add element whose value is A[i] to myVector[0]
}
else
{
myVector[1].push_back(A[i]); // add element whose value is A[i] to myVector[1]
}
}
return myVector;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。