2019独角兽企业重金招聘Python工程师标准>>>

/**** @param arr 待排序的数据* @param o   隐式转换* @tparam T type* @return*/def combSort[T](arr: Array[T])(implicit o: Ordering[T]): (Seq[T], Int) = {import o._var gap: Int = arr.lengthvar hasChanged = truevar count: Int = 0while (gap > 1 || hasChanged) {if (gap > 1) gap = (gap * 0.7).toInthasChanged = falseval consecutiveIndices = (arr.indices, arr.indices drop gap).zippeddo {hasChanged = falseconsecutiveIndices foreach { (i1, i2) =>if (arr(i1) > arr(i2)) {hasChanged = trueval tmp = arr(i1)arr(i1) = arr(i2)arr(i2) = tmpcount += 1println(arr.toList)}}} while (hasChanged)}(arr, count)}

转载于:https://my.oschina.net/Barudisshu/blog/640155

Scala implement Comb Sort相关推荐

  1. C语言梳排序Comb sort算法(附完整源码)

    梳排序Comb sort算法 梳排序Comb sort算法的完整源码(定义,实现,main函数测试) 梳排序Comb sort算法的完整源码(定义,实现,main函数测试) #include < ...

  2. Python:实现comb sort梳状排序算法(附完整源码)

    Python:实现comb sort梳状排序算法 def comb_sort(data: list) -> list:shrink_factor = 1.3gap = len(data)comp ...

  3. Recursive Bubble Sort(递归冒泡排序)

    程序来源:Recursive Bubble Sort 迭代冒泡排序算法: // Iterative Bubble Sort bubbleSort(arr[], n) {for (i = 0; i &l ...

  4. Insertion Sort

    Insertion Sort Insertion sort is a simple sorting algorithm that works the way we sort playing cards ...

  5. Paralleled Merge Sort using CUDA

    Merge Sort is a perfect choice for parallel sorting – it doesn't require any synchronization. While ...

  6. 维基百科上的算法和数据结构链接很强大

    突然发现维基百科上的算法和数据结构比百度百科强多啦,图文并茂. 其实这个网站不错:http://www.sorting-algorithms.com 冒泡排序: bubble冒泡的意思 http:// ...

  7. [经典排序算法][集锦]

    经典排序算法 经典排序算法,以下文章参考了大量网上的资料,大部分都给出了出处 这一系列重点在理解,所以例子什么的都是最简单的情况,难免失误之处,多指教 大多数排序算法都给出了每一步的状态,以方便初学者 ...

  8. 10种常用排序算法实现

    在使用VBA进行写程序时,经常会做排序,下面将会给出一些常用的排序算法的实现,方便大家写程序参考,若代码中出现了错误,欢迎高手指正. 主要算法有: 1.(冒泡排序)Bubble sort 2.(选择排 ...

  9. [转]Using The Entity Framework With WCF

    本文转自:http://www.gavindraper.co.uk/2010/12/07/using-the-entity-framework-with-wcf/ I've had a few pro ...

最新文章

  1. 面了一把Java P6 岗,一个问题就干趴下了!
  2. 加载cv2调用摄像头_用Python获取摄像头并实时控制人脸
  3. layui表格合并单元格多表_layui动态表格之合并单元格
  4. Jira 随便总结
  5. Flink CDC 实时同步mysql
  6. Oracle常用小记
  7. xml文件中““符号报错,无法识别
  8. Nginx 重写规则指南
  9. kiwi浏览器打开网页慢_kiwi浏览器
  10. 用java开发pc软件
  11. [译] The Cost Of JavaScript
  12. 使用IIS 共享文件
  13. 如何解除电子书DRM限制
  14. java strlen_字符串长度函数strlen和mb_strlen的区别示例介绍
  15. 第八周【任务1】神经网络推理加速(笔记)
  16. (2021年)is not a supported wheel on this platform解决方案
  17. 密码包含-数字、大小写、特殊字符-正则表达式
  18. python中将字符变为大写_python 输入一个字符,是小写转换为大写,大写转换为小写,其他字符原样输出...
  19. Matlab错误使用 eval
  20. Java设计模式之设计原则-里氏替换原则 (LSP)

热门文章

  1. mysql 执行计划 什么用_简述MySQL的执行计划的作用及使用方法
  2. php上传图片 $__files没有信息_Python接口测试文件上传实例解析
  3. php http_get_vars,$_GET($HTTP_GET_VARS)和$_POST($HTTP_POST_VARS)的区别
  4. Linux中的文件寻址,Linux文件寻址算法:逻辑地址到物理地址的转换
  5. [微信小程序]手指触摸动画效果(完整代码附效果图)
  6. iOS通过Plist保存离线调试日志
  7. XDOC Office Server 开源了,Office文档完美转换为PDF
  8. SQL Server 2014新特性——基数评估(白皮书阅读笔记)
  9. Xposed: 勾住(Hook) Android应用程序对象的方法,实现AOP
  10. Lua(Codea) 中 table.insert 越界错误原因分析