2010-11-21 13 views
0

Kendim oluşturduğum özel bir Kart sınıfını kullanarak bir kart yığını oluşturmak istiyorum.Bir vektörün elemanlarını C++ içindeki bir yığına kopyalamak

Şimdi ne yapmak istiyorum: Daha sonra kullanmak üzere kartların yığın halinde olmasını istiyorum, ancak kartların karıştırılması gerekiyor ve bu bir yığınta mümkün değil.

İşte kod

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 */ 

bu işi yapmak konusunda herhangi bir fikir? Ya da sadece vektörü yığın yerine kullanmalı mıyım? ve pop_back ve push_back kullanıyor musunuz?

cevap

1

Buna ne dersiniz?

#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

yapabilir! – Contango

1

Sen beni alt vektör yineleme ve elemanları tek-tek itmek

for (vector<Card>::iterator i = dummyVector.begin(); i != dummyVector.end(); i++) { 
    cardPile.push(*i); 
}