演算法回鍋肉 歸併排序

2021-10-01 15:21:04 字數 1055 閱讀 2398

示例**純粹是為了加深印象,選擇的目標語言有更便捷的實現方式,另外去掉了一些假設條件檢查。

#encoding:gbk

size = 20

arr = array.new(size) do #初始化待排序陣列,隨機填寫元素

rand(size)

enddef merge(a,p,q,r)

one = a[p,q - p + 1] #括弧中第二引數是元素個數,容易坑

two = a[q + 1,r - q]

one << float::infinity

two << float::infinity

i = j = 0

for k in p..r

if one[i] < two[j]

a[k] = one[i]

i += 1

else

a[k] = two[j]

j += 1

endend

enddef merge_sort(a,p,r)

if p < r

q = (p + r) / 2

merge_sort(a,p,q) #遞迴合併

merge_sort(a,q + 1,r)

merge(a,p,q,r)

endendputs arr.inspect

arrc = arr.clone

merge_sort(arrc,0,arrc.size - 1)

puts arrc.inspect

輸出如下:

---------- ruby ----------

[2, 1, 16, 4, 16, 9, 8, 0, 7, 16, 4, 16, 9, 5, 14, 5, 10, 12, 17, 11]

[0, 1, 2, 4, 4, 5, 5, 7, 8, 9, 9, 10, 11, 12, 14, 16, 16, 16, 16, 17]

output completed (0 sec consumed) - normal termination

演算法回鍋肉 氣泡排序

示例 純粹是為了加深印象,選擇的目標語言有更便捷的實現方式,另外去掉了一些假設條件檢查。encoding gbk size 20 arr array.new size do 初始化待排序陣列,隨機填寫元素 rand size enddef bubble sort a b a.clone i j 0 ...

演算法回鍋肉 堆排序

示例 純粹是為了加深印象,選擇的目標語言有更便捷的實現方式,另外去掉了一些假設條件檢查。encoding gbk size 20 class array attr accessor heap size endarr array.new size do 初始化待排序陣列,隨機填寫元素 rand siz...

回鍋肉的做法

回鍋肉用料 豬肉 瘦 250克 回鍋肉輔料 青椒 45克 青蒜 30克 回鍋肉調料 甜麵醬 20克 豆瓣辣醬 10克 白砂糖 10克 味精 5克 植物油 30克 各適量 回鍋肉製作工藝 1.肉沖淨,整塊放入冷水中約煮20分鐘 2.用筷子試插,如無血水滲出即已熟透,撈出,待冷卻後切成薄片備用 3.青椒...