2010-11-21 15 views
0

私は自分で作成した特別なカードクラスを使用してカードのスタックを作りたいと思います。ベクトルの要素をC++のスタックにコピーする方法

ここで私がしたいことは次のとおりです。 カードをスタックに入れて後で使うのが簡単ですが、カードをシャッフルする必要があります。

ここでコード

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を使用しますか?

答えて

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; 
} 
+0

を要素をプッシュすることができます! – Contango

1

あなたはそれに私を打ち負かすベクトルを反復処理し、1つずつ

for (vector<Card>::iterator i = dummyVector.begin(); i != dummyVector.end(); i++) { 
    cardPile.push(*i); 
} 
関連する問題