if Case1 then codeblock 1 else if Case2 then codeblock 2 else codeblock 3 end if
循环
1 2 3
while n < 10 do n = n + 1; end while
1 2 3
for i in arr do i = i + 1; end for
1 2 3
for i = l to r do i = i + 1; end for
函数
必要时,需以注释的形式给出对于函数功能和输入输出的描述。
1 2 3 4
function lower_bound(arr[], tar) ... return index; end func
当整个代码片中只有函数内容时,可以将函数声明作为代码片的 title,后续代码直接顶格编写即可,无需使用 end func 作为结尾:
1 2 3 4 5
function lower_bound(arr[], tar)
let left = 0, right = arr.length - 1; ...
示例
二分查找伪代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
algorithm: 二分查找 author: 清弦. date: 2023-10-07 Input: 有序数组 arr, 目标元素 tar Output: 目标元素 tar 在数组 arr 中的下标 index
let left = 0, right = arr.length - 1; let index = -1; % 若在循环过程中没有找到tar,则index的值不会被更新 while left <= right do mid = (left + right) / 2; if arr[mid] == tar then index = mid; break; else if arr[mid] < tar then left = mid + 1; else right = mid - 1; end if end while
algorithm: 二分查找 author: 清弦. date: 2023-10-07 Input: 有序数组 arr, 目标元素 tar Output: 目标元素 tar 在数组 arr 中的下标 index
function binary_search(arr, tar)
let left = 0, right = arr.length - 1 while left <= right do mid = (left + right) / 2; if arr[mid] == tar then return mid; else if arr[mid] < tar then left = mid + 1; else right = mid - 1; end if end while