2010-11-21 9 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

당신은 당신이 그것에 나를 이길 벡터를 반복하고 요소를 한 개씩 밀어

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