GorGorv1.0

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))
}
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))   # 5

Bubble 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])
}