知っていて当たり前-14 ベクトルのプッシュとポップ
プッシュとポップ push, pop
他の関数と同じく以下でも関数名の最後が !
の場合は,インプレースで実行される。
1. 先頭にプッシュする pushfirst!()
戻り値はプッシュされた後の引数と同じ。
a = [1, 2, 3]
x = pushfirst!(a, 0)
(x, a)
([0, 1, 2, 3], [0, 1, 2, 3])
2. 先頭をポップする popfirst!()
戻り値はポップされた値。変数に代入しなければ捨てられるだけ。
b = [11, 12, 13, 14]
x = popfirst!(b)
x, b
(11, [12, 13, 14])
3. 末尾にプッシュする `push!()
戻り値はプッシュされた後の引数と同じ。
c = [1, 2, 3, 4]
x = push!(c, 99)
(x, c)
([1, 2, 3, 4, 99], [1, 2, 3, 4, 99])
4. 末尾をポップする pop!()
戻り値はポップされた値。変数に代入しなければ捨てられるだけ。
d = [21, 22, 23]
x = pop!(d)
(x, d)
(23, [21, 22])
5. 任意の位置にプッシュする insert!()
戻り値は挿入された後の引数と同じ。
e = [31, 32, 33]
x = insert!(e, 2, 999)
(x, e)
([31, 999, 32, 33], [31, 999, 32, 33])
6. 任意の位置からポップする popat!()
戻り値はポップされた値。変数に代入しなければ捨てられるだけ。
f = [31, 32, 33]
x = popat!(f, 2)
(x, f)
(32, [31, 33])
7. 任意の位置の要素を削除する deleteat!()
戻り値は削除された後の引数と同じ。
g = [41, 42, 43, 44]
x = deleteat!(g, 3)
(x, g)
([41, 42, 44], [41, 42, 44])
8. ベクトルの長さ(要素数) length()
h = [1, 2, 3]
length(h)
3
9. 空ベクトルか? isempty()
isempty(h)
false
10. 空ベクトルにする empty!()
戻り値は空ベクトル。
x = empty!(h)
(x, h)
(Int64[], Int64[])