小天管理 发表于 2024年6月18日 发表于 2024年6月18日 链接: 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 从头开始实现了功能
已推荐帖子