ryby 陣列筆記

2022-04-29 11:09:14 字數 1858 閱讀 1339

#

ruby陣列可以容納不同的物件,並且沒有多維陣列的概念

#陣列的定義**********=

a =array.new

a = array.new(5) #

建立 5個nil 元素的陣列 [nil,nil,nil,nil,nil]

a = array.new(5,1) #

建立5個 元素都是1的陣列 [1,1,1,1,1]

a = #

建立乙個空陣列

a = [1,"

a",3,2]

%w(one two three) #

返回的是 ["one","two","three"]

#陣列小妙用: 利用陣列並行賦值

a,b,c,d = [1,"

a",[1,2],(1..5)]

#運算和常用方法**********==

[1,2]<<3 #

返回 [1,2,3]

[1,2]+[1,3] #

返回 [1,2,1,3]

[1,2,3]-[1,4] #

返回 [2,3]

[1,2,3]&[3,4] #

返回[3]

[1,2,3]|[3,4] #

返回[1,2,3,4]

[1,2]*2 #

如果*號後面是數字,會進行重複 ,返回[1,2,1,2]

[1,2]*'--'

#如果是字串,會用該字串連線陣列,返回乙個字串, 返回 '1--2'

#列舉能用的方法都能用在陣列上

ary.size/ary.length #

陣列包含元素的個數

ary.concat(other_array) #

把other_array中的元素新增到arr中

ary.delete(obj) #

刪除陣列中和obj相等的元素,如果找到則返回obj,否則返回nil

#eg:

a=[1,2,3,3]

a.delete(3) #

a = [1,2] 並且返回3

ary.delete(index)

#刪除指定索引的元素,並返回刪除的obj

ary.delete_if #

刪除符合條件(使block為true)的元素

ary.first/ary.last #

返回陣列的第乙個元素/最後乙個元素

ary.compact #

返回乙個陣列的副本,並刪除陣列中的nil元素

[nil,1,2,nil,3,4].compact #

返回 [1,2,3,4]

ary.flattern #

遞迴陣列中的陣列,並返回乙個大陣列

[1,2,[3,4],5].flattern #

返回[1,2,3,4,5]

ary.index(obj) #

返回元素的索引

[1,2,3].index(3) #

返回2ary.insert(index,obj) #

將某個物件插入到陣列的index中

ary.join(separator) #

用分隔符合併陣列並且返回乙個字串

[1,2,3].join("

-") #

返回 "1-2-3"

ary.pop/ary.shift #

刪除陣列中的最後乙個/開頭乙個 元素

ary.push(obj) #

將obj追加到陣列的後面

ary.replace(other_array) #

使用other_array替換原來的內容

ary.reverse #

返回乙個反序的陣列

磁碟陣列筆記

pvcreate dev sdg vgcreate enipvg dev sdg lvcreate enipvb n lv name size 50g mkfs t reiserfs dev enipvg lv name mount dev enipvg lv name mnt lv name um...

筆記 樹狀陣列

主要看圖 i往上找就是i 2 k 往下就是減 k是i的二進位制右邊0的個數 2 k 直接等於i i 傳送門 寫的很好 總結 首先,明白樹狀陣列所白了是按照二分對陣列進行分組 維護和查詢都是o lgn 的複雜度,複雜度取決於最壞的情況,也是o lgn lowbit這裡只是乙個技巧,關鍵在於明白c陣列的...

筆記 滾動陣列!

滾動陣列。對於我這種不會用結果怕各種mle和各種tle的人來說確實是一向短處 滾動的實質 膜法光輝 霧 吐槽不多說現在我們來看一下 乙個dp,平常如果需要1000 1000的空間,其實根據dp的無後效性,可以開成2 1000,然後通過滾動,獲得和1000 1000一樣的效果。滾動陣列常用於dp之中,...