class CArray
def dispay(arr)
size = arr.length
i = 0
while (i < size)
print(arr[i], " ")
i += 1
end
end
def reverse(arr, start, last)
temp = 0
i = start
j = last
while (i <= last && j > i)
temp = arr[i]
arr[i] = arr[j]
arr[j] = temp
i += 1
j -= 1
end
end
def split(arr, split_point)
size = arr.length
if (size <= 1 && split_point < 1 && split_point >= size)
return
end
# reverse first part
self.reverse(arr, 0, split_point - 1)
# reverse second part
self.reverse(arr, split_point, size - 1)
# reverse all array
self.reverse(arr, 0, size - 1)
end
end
obj = CArray.new()
arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
split_point = 3
obj.split(arr, split_point)
obj.dispay(arr)
# run:
#
# 4 5 6 7 8 9 0 1 2 3
#