Selection sort in ruby
Ruby program for Selection sort. Here more solutions.
# Ruby program for selection sort
class MySort
# Swap the array element
def swap(arr, x, y)
# x and y are index of array
temp = arr[x]
arr[x] = arr[y]
arr[y] = temp
end
def selectionSort(arr, n)
min = 0
i = 0
# Execute loop from 0..n
while (i < n)
# Get current index
min = i
j = i + 1
while (j < n)
if (arr[min] > arr[j])
# Get the minimum element index
min = j
end
j += 1
end
if (i != min)
# Swap minimum element at i index
self.swap(arr, i, min)
end
i += 1
end
end
# Display array elements
def display(arr, n)
i = 0
while (i < n)
# Display element value
print(" ", arr[i])
i += 1
end
print("\n")
end
end
def main()
task = MySort.new()
# Array of integer elements
arr = [8, 2, 3, 8, 1, 3, 73, 121, 54, 23, 84, 13, 67, 23, 52]
# Get the size of array
n = arr.length
print(" Before Sort :\n")
task.display(arr, n)
# Test
task.selectionSort(arr, n)
print(" After Sort :\n")
task.display(arr, n)
end
main()
Output
Before Sort :
8 2 3 8 1 3 73 121 54 23 84 13 67 23 52
After Sort :
1 2 3 3 8 8 13 23 23 52 54 67 73 84 121
Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.
New Comment