LoginSignup
0
0

More than 1 year has passed since last update.

知っていて当たり前-14 ベクトルのプッシュとポップ

Posted at

知っていて当たり前-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[])
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0