今回は応用情報技術者試験で出題される、双方向リストを操作する際の具体例を記しておきます。
応用情報技術者試験はシステムエンジニア向けの試験ですが、特定のプログラミング言語に絞って出題されるわけではないため、プログラミング言語ちっくな言葉で出題されることを事前に慣れておく必要があります。
【①双方向リストの末尾の次に新しいノードを追加するプログラム】
newNode.next ← null
if(tailNodeとnullが等しい)
headNode ← newNode
tailNode ← newNode
newNode.prev ← null
else
tailNode.next ← newNode
newNode.prev ← tailNode
tailNode ←newNode
end if
【②双方向リストから任意のノードを削除するプログラム】
if(thisNode.prevとnullが等しい)
headNode ← thisNode.next
thisNode.next.prev←null
else
thisNode.prev.next ← thisNode.next
end if
if(thisNode.nextとnullが等しい)
tailNode ← thisNode.prev
thisNode.prev.next ← null
else
thisNode.next.prev ← thisNode.prev
end if