Example Programs
Algorithm and data structure examples in Gor.
These examples are included in the examples/ directory and available in the Playground.
Fibonacci
fn fibRecursive(n) {
if (n <= 1) {
return n
}
return fibRecursive(n - 1) + fibRecursive(n - 2)
}
fn fibIterative(n) {
let a = 0
let b = 1
for (let i = 0; i < n; i = i + 1) {
let temp = b
b = a + b
a = temp
}
return a
}
for (let i = 0; i < 10; i = i + 1) {
print(fibRecursive(i))
}Binary Search
fn binarySearch(arr, target, low, high) {
if (low > high) {
return 0 - 1
}
let mid = (low + high) / 2
if (arr[mid] == target) {
return mid
}
if (arr[mid] < target) {
return binarySearch(arr, target, mid + 1, high)
}
return binarySearch(arr, target, low, mid - 1)
}
let sorted = [2, 5, 8, 12, 16, 23, 38, 45, 56, 72, 91]
print(binarySearch(sorted, 23, 0, 10)) # 5Bubble Sort
fn bubbleSort(arr, n) {
for (let i = 0; i < n - 1; i = i + 1) {
for (let j = 0; j < n - 1 - i; j = j + 1) {
if (arr[j] > arr[j + 1]) {
let temp = arr[j]
arr[j] = arr[j + 1]
arr[j + 1] = temp
}
}
}
return arr
}
let data = [64, 34, 25, 12, 22, 11, 90]
bubbleSort(data, 7)
for (let i = 0; i < 7; i = i + 1) {
print(data[i])
}