配列の操作を確認してみる
元の配列データ。Ruby1.9.1 用にマジックコメントを入れてみる。
# coding: sjis
a = [[2, 1, 1, 2],
[8, 2, 1, 2],
[3, 1, 2, 2],
[4, 1, 1, 3],
[1, 1, 2, 1],
[9, 3, 1, 1],
[5, 2, 3, 4],
[7, 1, 1, 1],
[6, 2, 1, 1]]
単純にソートしてみる。
a.sort.each do |x|
p x
end
[1, 1, 2, 1]
[2, 1, 1, 2]
[3, 1, 2, 2]
[4, 1, 1, 3]
[5, 2, 3, 4]
[6, 2, 1, 1]
[7, 1, 1, 1]
[8, 2, 1, 2]
[9, 3, 1, 1]
配列の最後尾のデータを先頭に移動してみる。
a.each do |x|
p x
p x.unshift(x.pop)
end
[2, 1, 1, 2]
[2, 2, 1, 1]
[8, 2, 1, 2]
[2, 8, 2, 1]
[3, 1, 2, 2]
[2, 3, 1, 2]
[4, 1, 1, 3]
[3, 4, 1, 1]
[1, 1, 2, 1]
[1, 1, 1, 2]
[9, 3, 1, 1]
[1, 9, 3, 1]
[5, 2, 3, 4]
[4, 5, 2, 3]
[7, 1, 1, 1]
[1, 7, 1, 1]
[6, 2, 1, 1]
[1, 6, 2, 1]
配列を削除、追加してソートしてみる。
a.slice!(3)
a << [0, 1, 2, 3]
ソートなし。
a.each do |x|
p x
end
[2, 1, 1, 2]
[8, 2, 1, 2]
[3, 1, 2, 2]
[1, 1, 2, 1]
[9, 3, 1, 1]
[5, 2, 3, 4]
[7, 1, 1, 1]
[6, 2, 1, 1]
[0, 1, 2, 3]
ソートあり。
a.sort.each do |x|
p x
end
[0, 1, 2, 3]
[1, 1, 2, 1]
[2, 1, 1, 2]
[3, 1, 2, 2]
[5, 2, 3, 4]
[6, 2, 1, 1]
[7, 1, 1, 1]
[8, 2, 1, 2]
[9, 3, 1, 1]
| 固定リンク
コメント