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...