所以我使用動態堆棧,我想寫一個複製構造函數,它必須從同一個類的另一個實例複製堆棧的數據。我試圖編寫這個函數,但看起來很難。有人能幫我一把嗎?如何複製堆棧?
template<typename T=int>
class LStack
{
public:
template<typename U=int>
struct elem
{
U con;
elem<U>* link;
}
private:
elem<T>* el;
void Copystack(Lstack const& stack) // HERE
{
elem<T>* last = el;
el->con = stack->con;
while(stack->link != null)
{
var temp = new elem<T>;
temp->con = stack->con;
temp->link = stack->link;
stack = stack->link;
}
}
};
這可能是一個重複的問題:http://stackoverflow.com/questions/8948795/assign-values-of-a-stack-to-another-stack 祝你好運! –
您是否試圖將元素從先入先出複製到後進入或從後進入到先入? – Beta
它必須以相同的順序 –