我刚开始学习计算机编程,我想学习更多关于编程算法的知识我买了一些参考书。然而,当我读这本书时,我发现了一些这样的代码:

function Get-Number(n)
    Q ← NIL
    Enqueue(Q,1)
    While n > 0 do
        x ← Dequeue(Q)
        Unique-Enqueue(Q,2x)
        Unique-Enqueue(Q,3x)
        Unique-Enqueue(Q,5x)
        n ← n – 1
    return x

function Unique-Enqueue(Q,x)
    i ← 0
    while i < |Q| ^ Q[i] < x do
        i ← i + 1
    if i < |Q| ^ x = Q[i] then
        return
    Insert(Q,i,x)

我已经学了一些C语言的基础知识,但是我没有看到那种代码,我无法理解算法有人知道上面代码的编程语言是什么吗非常感谢!

最佳答案

我猜这是pseudocode语法的含义如下:
function F(x)用一些参数声明一个新函数F
Q <- value将值赋给称为q的变量,如果尚未存在则创建Q
someFunction(x)调用someFunction,传入参数x
while是awhile loop
ifthen是if语句,与C中的语句相同,但语法更像英语
return x退出当前函数并返回x作为返回值,或者如果没有指定返回值(C术语中的空隙函数),则不返回值。
|Q|产生集合q的大小
<表示与c和数学中的相同(小于运算符)
Q[i]生成集合q中位置i处的元素
^可能意味着逻辑上的,因为这就是它在数学中的意义

09-27 19:03