2012/03/08

キューとスタックについて

配列に対する処理について

配列の先頭・末尾要素を操作するメソッドまとめ

先頭要素に対する操作末尾要素に対する操作
要素を追加するunshiftpush
要素を取り出すshiftpop
要素を参照するfirstlast

キュー処理

キューはFIFO(First-in First-out:列の最後に要素を追加し、列の先頭(最初に列に追加したもの)を取り出す処理)なので、下記で実現できる。
ary = %w(a b c d e f)
p ary.push("g")
p ary.shift
p ary
実行すると
>> $ ruby que.rb
["a", "b", "c", "d", "e", "f", "g"]
"a"
["b", "c", "d", "e", "f", "g"]

スタック処理

スタックはFILO(First-in Last-out:列の最後に要素を追加し、列の最後を取り出す処理)なので、下記で実現できる。
ary = %w(a b c d e f)
p ary.push("g")
p ary.pop
p ary
実行すると
>> $ ruby stack.rb
["a", "b", "c", "d", "e", "f", "g"]
"g"
["a", "b", "c", "d", "e", "f"]

0 件のコメント:

コメントを投稿