0

循環配列の特定のインデックスからアイテムをデキューする方法はありますか?

例 これが円形配列であると想像してください...

1---2--3---4-5---6--7-8
|11|76|45|32|32|16|21|8|

デキュー インデックス 3

1---2--3---4-5---6--7-8
|11|76|45|32|32|16|21|8|

1---2--3---4-5---6--7-8
|11|76|EM|32|32|16|21|8|

EM は空を表します。

デキュー インデックス 8

1---2--3---4-5---6---7--8
|11|76|EM|32|32|16|21|EM|

方法はありますか?または、それらすべてを一緒にシフトする必要がありますか? ありがとうございました。

4

1 に答える 1

0

ほとんどのプログラミング言語では、要素を削除したい場合、後続のすべての要素をシフトする必要があります。ただし、ほとんどのプログラミング言語は「循環配列」のような概念を提供していません。

配列の代わりにリンクされたリストが使用されている場合、キューから取り出される要素の前の要素内のリンクを、(キューから取り出された後の) 後続の要素を指すように変更できます。これは、線形連結リストと循環連結リストの両方で機能します。

于 2012-12-14T19:52:37.500 に答える