2011-06-29 5 views
0

あなたはブラックボックスとしてコンテナADT(抽象データ型)を見れば、それは2つの機能を提供します:コンテナADT標準操作

1. put(C, x) 
2. get(C) 

最初の関数は、容器Cに第二のオブジェクトxを入れますコンテナCから "次の"オブジェクトを取得します。ここで、 "次へ"は必要なコンテナのタイプによって異なります。スタック実装は、最後にコンテナに入れられた要素(FILO ADTとも呼ばれます)を返します。

私の質問は、最も一般的なフォームでは、コンテナADT関数get()はコンテナから要素自体を削除するのか、または単にコンテナ内の要素を保持してアクセスするための参照を返しますか?

答えて

2

put()get()の場合は、get()も要素を削除する必要があります。そうしないと、n!= 1のn番目の要素にアクセスできなくなります。
アイデアは十分ですget() oporationsの場合、コンテナ内の各要素にアクセスできるはずです。get()が要素を削除しない場合、get()のシーケンシャルは常に同じ要素を返します。したがって、最初の要素だけがアクセス可能です。


ただし、実装ごとに異なる場合があります。 (たとえば、put()、get()およびpop()を使用してADTを作成することができます。ここでgetは要素のみを返します。

関連する問題