分享一个自娱自乐造的中文脚本语言

14次阅读

共计 164 个字符,预计需要花费 1 分钟才能阅读完成。

链接:https://github.com/4ra1n/y4-lang

使用 golang 标准库,造的一个轮子,尽量不适用任何第三方库,主要目的是学习和娱乐

快排示例

 函数 交换 (数组, 甲, 乙) {临时 = 数组 [ 甲];
    数组 [甲] = 数组 [乙];
    数组 [乙] = 临时;
}

函数 分区 (数组, 低位, 高位) {目标 = 数组 [ 高位];
    甲 = 低位 - 1;
    循环 乙 = 低位; 乙 < 高位; 乙 = 乙 +1 {如果 数组 [ 乙] < 目标 {
            甲 = 甲 + 1;
            交换 (数组, 甲, 乙);
        }
    }
    交换 (数组, 甲 + 1, 高位);
    返回 甲 + 1;
}

函数 快排 (数组, 低位, 高位) {
    如果 低位 < 高位 {目标 = 分区 ( 数组, 低位, 高位);
        快排 (数组, 低位, 目标 -1);
        快排 (数组, 目标 +1, 高位);
    }
}

函数 主函数 () {数组 = [10, 7, 8, 9, 1, 5, 666, 888, 10000, -50];
    数组长 = 长度 (数组);
    快排 (数组, 0, 数组长 -1);
    打印 (数组)
}

运行截图:

分享一个自娱自乐造的中文脚本语言

参考了《两周自制脚本语言》

原书使用 Java 且包含了一些作者自己写的库,我用 Golang 从头开始实现了功能

正文完
 0