特定の値をすべて取り出して元のスタックに戻すスタックのRemoveAllメソッドを作成する必要があります。しかし、私が書いた方法は、偽を返すだけです。私のコードのエラーは何ですか?なぜ私のbool RemoveAllメソッドはfalseを返しますか?
ここに私が書いた方法です:
static void Main()
{
OurStack<int> nums = new OurStack<int>();
nums.Push(1);
nums.Push(31);
nums.Push(22);
nums.Push(3);
//nums.RemoveAll(31);
Console.Write(nums.RemoveAll(1));
Console.ReadKey();
OurListNodeとは何ですか? pTmp = mTop; '、2つの' while'ループの中断条件は何ですか?データイオンスタックを押すだけでスタックを空にしているようです。 –
2つのwhileループのブレーク条件は、スタックのスタックをWeStackとtempStackにする必要があります。しかし、MajkeloDev氏が指摘しているように、この方法ではデータが全く入れられていないことを認識していません。私は、スタックの先頭への一時的なポインタとしてpTmpを使用しています。だから、私はpTmp = pTmp.Nextを書いたときに、フレームからポップアップしてその内容を分析し、それをスタックから完全に削除するか、tempStackに配置しようとしていますが、実際にはwhileループの行を過ぎてはいけません。 – Stephanie