矢量
向量是一维数组,并且支持与它们的多维对应物大致相同的接口。但是,矢量也支持其他操作。
首先,请注意 Vector{T}
中某些类型的 Vector{T}
与 Array{T,1}
相同。
julia> Vector{Int}
Array{Int64,1}
julia> Vector{Float64}
Array{Float64,1}
一个人将 Array{Int64,1}
视为“Int64
的一维数组”。
与多维数组不同,可以调整向量的大小。可以从矢量的前面或后面添加或删除元素。这些操作都是不变的摊销时间 。
julia> A = [1, 2, 3]
3-element Array{Int64,1}:
1
2
3
julia> push!(A, 4)
4-element Array{Int64,1}:
1
2
3
4
julia> A
4-element Array{Int64,1}:
1
2
3
4
julia> pop!(A)
4
julia> A
3-element Array{Int64,1}:
1
2
3
julia> unshift!(A, 0)
4-element Array{Int64,1}:
0
1
2
3
julia> A
4-element Array{Int64,1}:
0
1
2
3
julia> shift!(A)
0
julia> A
3-element Array{Int64,1}:
1
2
3
按照惯例,这些函数 push!
,pop!
,unshift!
和 shift!
中的每一个都以感叹号结尾,表示它们正在改变它们的参数。函数 push!
和 unshift!
返回数组,而 pop!
和 shift!
返回删除的元素。