我想使用我自己制作的特殊卡片制作一堆卡片。
现在我想做的是: 我希望堆叠中的卡片更容易以后使用,但是卡片必须进行洗牌,并且在堆叠中是不可能的。
这是代码
Card dummyCard;
vector<Card> dummyVector;
initializeCards( dummyVector, dummyCard, 5 ); /* this function puts cards in vector */
random_shuffle( dummyVector.begin(), dummyVector.end() );
copy( dummyVector.begin(), dummyVector.end(), cardPile ); /* cardPile is a stack */
有关如何使这项工作的任何想法? 或者我应该将矢量作为我的替代堆栈?并使用pop_back和push_back?
答案 0 :(得分:1)
这个怎么样?
#include <stack>
#include <vector>
using namespace std;
int main()
{
vector<int> x;
x.push_back(10); x.push_back(20); x.push_back(30);
stack< int,vector<int> > stack(x);
return 0;
}
答案 1 :(得分:1)
您可以迭代矢量并逐个推送元素
for (vector<Card>::iterator i = dummyVector.begin(); i != dummyVector.end(); i++) {
cardPile.push(*i);
}