gem algorithms010 讀原始碼後開始寫

2021-09-28 13:41:34 字數 931 閱讀 6547

gem algorithms010 讀原始碼後開始寫

今天接著想把稀疏矩陣的幾個演算法弄一下,先弄轉置,我不知如何在ruby中儲存結構體,於是用struct,寫得很差,總算弄出乙個。

n=struct.new("juchen",:mu,:nu,:tu,:arr)

data=[[1,2,12],[1,3,9],[3,1,-3],[3,6,14],

[4,3,24],[5,2,18],[6,1,15],[6,4,-7]

]obj=n.new(6,6,8,data)

puts obj.mu

puts obj.nu

puts obj.tu

puts obj.arr.to_s

obj2=n.new()

obj2.mu=obj.nu

obj2.nu=obj.mu

obj2.tu=obj.tu

obj2.arr=[[0,0,0],[0,0,0],[0,0,0],[0,0,0],

[0,0,0],[0,0,0],[0,0,0],[0,0,0],[0,0,0]]

if obj.tu>0

q=1(1..obj.nu).each do |col|

(0..obj.tu-1).each do |p|

if obj.arr[p][1]==col

obj2.arr <<

obj2.arr <<

obj2.arr[q][0]=obj.arr[p][1]

obj2.arr[q][1]=obj.arr[p][0]

obj2.arr[q][2]=obj.arr[p][2]

q += 1

endend

endend

puts obj2.mu

puts obj2.nu

puts obj2.tu

puts obj2.arr.to_s

gem algorithms010 讀原始碼後試著寫

gem algorithms010 讀原始碼後試著寫 上午花時間裝cygwin下的vim,開始時,是可以從bash下的vim中拷資料到windows下,後來重新安裝了 im後,就不可以了。折騰了半天,終於可以了。下午接著寫希爾排序,我發現書上的知識是分散的,我想寫乙個shell排序,發現首先增量序列...

gem algorithms010 讀然後學著寫

gem algorithms010 讀然後學著寫 資料結構 書上有2 路插入排序,書上只用乙個陣列,我用兩個臨時資料,把這個排序演算法弄出來了。程式如下 def insert arr,val r0 val k 0 arr.size 1 downto 1 do i if i 0 and arr i r...

gem algorithms010 讀然後學著寫

gem algorithms010 讀然後學著寫 今天為了弄那個參賽國家接龍的程式,忽然想到,程式設計實踐 上講了,齊次馬爾科夫過程,我想,用ruby也寫一次。因為當時,用c語言感覺相當麻煩,而用awk而無比優雅。可程式並不能解決我的問題。還得再想想。arr file.open english2.t...