Class: Sortech::Sort

Inherits:
Object
  • Object
show all
Defined in:
lib/sortech.rb

Class Method Summary collapse

Class Method Details

.bubble(arr) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/sortech.rb', line 4

def bubble(arr)
  arr if arr.length == 0 || is_sorted?(arr)
  n = arr.length
  loop do
    flag = false
    for i in 0..n - 2
      if arr[i] > arr[i+1]
        arr[i] += arr[i+1]
        arr[i+1] = arr[i] - arr[i+1]
        arr[i] = arr[i] - arr[i+1]
        flag = true
      end
    end
    n -= 1
    break unless flag
  end
  arr
end