fork download
  1. fun combSort(array: MutableList<Int>) {
  2. var gap = array.count()
  3. val shrink = 1.3
  4. var sorted = false
  5. while (!sorted) {
  6. gap = (gap / shrink).toInt()
  7. if (gap <= 1) {
  8. gap = 1
  9. sorted = true
  10. }
  11.  
  12. var i = 0
  13. while (i + gap < array.count()) {
  14. if (array[i] > array[i + gap]) {
  15. val tmp = array[i]
  16. array[i] = array[i + gap]
  17. array[i + gap] = tmp
  18. sorted = false
  19. }
  20.  
  21. i++
  22. }
  23. }
  24. }
  25.  
  26.  
  27. fun main() {
  28. val array = mutableListOf(7, 3, 0, 1, 5, 2, 5, 19, 10, 5)
  29.  
  30. combSort(array)
  31.  
  32. println(array)
  33. }
Success #stdin #stdout 0.1s 39432KB
stdin
Standard input is empty
stdout
[0, 1, 2, 3, 5, 5, 5, 7, 10, 19]