私は、この構造体を使用しています:リンクされたリストのスタックのコピーコンストラクタC++
struct node
{
T data;
node *next;
};
node *head;
node *headCopy;
をスタックの実装に基づいて、単一のlinked list
を作成します。私のコアスタックメソッドはすべて動作しています。私はトラブルの引数を取りコピーコンストラクタを実装が生じています:
LinkedStack<T>::LinkedStack(const LinkedStack<T>& aStack)
私が現在持っていることは、これは(動作していないもの)である:私の最大の問題がある:
node *temp;
temp = head;
while (temp != NULL)
{
headCopy = head;
temp = temp->next;
}
私はと仮定しますこのコピーがどのように起こるかを視覚化するのに問題があります。私は他の例を見てきましたが、私はそれに従うことができません。配列ベースのスタックのコピーコンストラクタを作成するのに問題はありませんでした。私はshow()
の機能に似ていると想像しましたが、出力する代わりに別のリンク先に再割り当てしています。次のように私のshow()
方法は次のとおりです。
node *temp;
temp = head;
while (temp != NULL)
{
std::cout << temp->data << std::endl;
temp = temp->next;
}
任意の助けをいただければ幸いです、ありがとうございました!
ヒント:while(temp!= NULL){addToEndOfList(temp-> data);} temp = temp-> next;} ' – immibis
[3のルールとは何か]の重複の可能性あり(http://stackoverflow.com/questions/4172722/what-is-the-rule-of-three) –