美文网首页
用ruby撸代码——冒泡算法

用ruby撸代码——冒泡算法

作者: 春木橙云 | 来源:发表于2019-10-27 21:11 被阅读0次

    最近双十一,公司赶上线新功能,忙疯了,终于忙里偷闲撸一下ruby代码,新手入坑,勿喷!

    新源代码:(多重赋值减少代码)

    
    $array = [2, 31, 33, 41, 16, 76]
    $final_data = []
    
    def bubble
      $array.length.times do
        $array.each_with_index do |item, index|
          if $array[index + 1]
            if item > $array[index + 1]
              $array[index],$array[index+1] = $array[index+1],$array[index]
            end
          end
        end
        $final_data.push($array[$array.length - 1])
        $array.pop
      end
    end
    
    p "原数组", $array
    bubble
    p "结果", $final_data
    
    

    原源代码:

    $array = [2, 31, 33, 41, 16, 76]
    $final_data = []
    
    def bubble
      $array.length.times do
        $array.each_with_index do |item, index|
          if $array[index + 1]
            if item > $array[index + 1]
              change_position($array, index)
            end
          end
        end
        $final_data.push($array[$array.length - 1])
        $array.pop
      end
    end
    
    def change_position (arr, index)
      arr_store = arr[index + 1]
      arr[index + 1] = arr[index]
      arr[index] = arr_store
    end
    
    p "原数组", $array
    bubble
    p "结果", $final_data
    

    输出结果:

    "原数组"
    [2, 31, 33, 41, 16, 76]
    "结果"
    [76, 41, 33, 31, 16, 2]
    
    

    总结:

    • 使用到的知识包括:循环语句、全局变量、局部变量、函数定义方法、打印功能、if判断语句、数组的相关方法等;
    • 实现方式相对简单,有待打磨代码。

    相关文章

      网友评论

          本文标题:用ruby撸代码——冒泡算法

          本文链接:https://www.haomeiwen.com/subject/hwpmvctx.html