美文网首页
用ruby撸代码——选择排序算法

用ruby撸代码——选择排序算法

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

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

新源代码:(多重赋值节省代码)

$array = [21, 35, 33, 41, 16, 6]

def select_rank(arr)
  arr.each_with_index do |item, index|
    init_index = index
    inner_arr = arr[index + 1, arr.length - index]
    inner_arr.each_with_index do |i, idx|
      min_num = item
      min_index = init_index
      if min_num > i
        min_index = idx + index + 1
        min_num = arr[min_index]
      end
      arr[init_index], arr[min_index] = arr[min_index], arr[init_index]
    end
  end
end

原源代码:

$array = [21, 35, 33, 41, 16, 6]

def select_rank(arr)
  arr.each_with_index do |item, index|
    init_index = index
    inner_arr = arr[index+1, arr.length - index]
    inner_arr.each_with_index do |i, idx|
      min_num = item
      min_index = init_index
      if min_num > i
        min_index = idx + index + 1
        min_num = arr[min_index]
      end
      select_change_position($array, init_index, min_index)
    end
  end
end
def select_change_position (arr, init_index, min_index)
  arr_store = arr[init_index]
  arr[init_index] = arr[min_index]
  arr[min_index] = arr_store
end

p "原始数组",$array
select_rank($array)
p "排序后数组",$array

结果:

"原始数组"
[21, 35, 33, 41, 16, 6]
"排序后数组"
[6, 16, 21, 33, 35, 41]

总结:

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

相关文章

  • 用ruby撸代码——选择排序算法

    最近双十一,公司赶上线新功能,忙疯了,终于忙里偷闲撸一下ruby代码,新手入坑,勿喷! 新源代码:(多重赋值节省代...

  • 用ruby撸代码——冒泡算法

    最近双十一,公司赶上线新功能,忙疯了,终于忙里偷闲撸一下ruby代码,新手入坑,勿喷! 新源代码:(多重赋值减少代...

  • 算法-选择排序

    算 法:选择排序算法时间复杂度: 选择排序算法概述 选择排序伪代码 选择排序实现 选择排序算法概述 排序算法有许...

  • 排序算法

    常见排序算法 本文涉及的算法有:冒泡排序选择排序计数排序 冒泡排序 伪代码 流程图 选择排序 伪代码 流程图 计数...

  • IOS常见算法

    常见算法: 快速排序: 选择排序: 冒泡排序: 测试代码:

  • 关于JavaScript-2:基本排序算法

    基本排序算法 1.冒泡排序 示例代码: 2.插入法排序 示例代码: 3.选择排序 示例代码: 以上三种排序算法个人...

  • 面试算法知识梳理(12) - 二叉树算法第二部分

    面试算法代码知识梳理系列 面试算法知识梳理(1) - 排序算法 插入排序 希尔排序 选择排序 冒泡排序 计数排序 ...

  • 面试算法知识梳理(13) - 二叉树算法第三部分

    面试算法代码知识梳理系列 面试算法知识梳理(1) - 排序算法 插入排序 希尔排序 选择排序 冒泡排序 计数排序 ...

  • iOS常见算法

    升序算法:用冒泡排序法 选择排序法 快速排序

  • JAVA数据结构和算法——简单排序

    冒泡排序 选择排序 插入排序 排序算法的选择 除非手边没有算法书可参考,一般情况几乎不太用冒泡排序。选择排序虽然把...

网友评论

      本文标题:用ruby撸代码——选择排序算法

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