Project1

标题: 有关冒泡排序的错误,急求 [打印本页]

作者: 沉滞的剑    时间: 2013-4-18 15:19
标题: 有关冒泡排序的错误,急求
本帖最后由 沉滞的剑 于 2013-4-18 15:49 编辑

RUBY 代码复制
  1. def switch(a,x,y)
  2.       a.insert(y+1,a[x])
  3.       a.delete_at(x)
  4.   end  
  5.   def sortpos
  6.     x=0
  7.     y=1
  8.     while x < @breadth.size - 1
  9.       while y < @breadth.size
  10.         if @breadth[y-1] > @breadth[y]
  11.           switch(@depth,y-1,y)
  12.           switch(@breadth,y-1,y)
  13.           switch(@perks,y-1,y)
  14.         elsif @breadth[y-1] == @breadth[y] && @depth[y-1] > @depth[y]
  15.           switch(@depth,y-1,y)
  16.           switch(@breadth,y-1,y)
  17.           switch(@perks,y-1,y)
  18.         end
  19.         p @breadth
  20.         p @depth
  21.         p @perks
  22.         p x.to_s + ","+ y.to_s
  23.         y = y + 1
  24.       end
  25.       x = x + 1
  26.       y = 1
  27.  
  28.     end
  29.   end


-----------------------------------------------------------

我2B了,查错数了 改成小于号判断就好了 总共就6位
数学渣渣给各位道歉了....

1.jpg (47.44 KB, 下载次数: 18)

1.jpg

作者: 怕鼠的猫    时间: 2013-4-18 15:29
size=7的时候,下标只能用到0到6。
你x<[email protected]这句就不对了!!

话说,Array有sort方法的,也更灵活的sort_by,你还冒泡干什么?
最上面的那个函数也是莫名其妙,是swap的功能么? 好像有点问题,怎么也无法把元素插入到最前面的一项。
array.insert(0,something)






欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1