私は入門的なCS(Java)クラスにあり、先生は私たちのキューまたはスタックで.peek()を使用することを許可していません。キュー内のスタックで.peek()を使用しないことを推奨する理由はありますか?
明らかに、私たちが望むだけの数の一時的なintを持つ可能性があるので、これはかなり簡単な回避策です。値を変数にポップして戻すことができます。これはおそらく舞台裏で実装されている方法です。
キューでは、これはもう少し複雑になりますが、それでもやり遂げることができます。しかし、私はjavaがqueue.peekをどのように実装しているのかよくわからないので、ここでは字句置換を話すことはできません。
最終的に私は疑問に思います。なぜ覗き見をスタックやキューに入れるのをやめるのが良い習慣ですか?
彼はあなたを良い練習に使うのではなく、特定の問題の解決策を見つけるために使用しないように指示しましたか?また先生に尋ねましたか? (答えを得るための簡単な方法と思われます) – AxelH
@AxelHコース中いつでも使用することはできません。 –
いくつかの標準的なキューインプリメンテーションのクイックチェックでは、大幅なコストはかかりません。これは、 'JMS'のようにもっと一般的な待ち行列について話しているならば、違うかもしれません。これのための最初の港はあなたの先生かもしれません、それは私が以前聞いた "規則"ではありません。 – ptomli