如何计算Microsoft Small Basic中的字符串的所有排列?
所有排列的蛮力探索通常是通过诸如C和C 等语言的递归完成的。但是,Microsoft Small Basic不支持函数的参数,因此不可能以相同的方式实现递归算法。
也许在使用堆栈的小基础上可行?如何确切?
您不能在SmallBasic中的函数中使用参数,但是由于所有变量都是全局的,因此您可以在调用函数并将其在函数中使用它们之前简单地设置它们。函数也可以自称。这意味着您可以使用函数(或在SB中称为子例程)来"强迫"此算法。
请参阅此处:
Sub Printx
TextWindow.WriteLine(x)
x = x + 1
Printx()
EndSub
x = 1
Printx()
请注意,这种做事的方式可能会在子例程的2,000个"召回"后造成堆叠式流行错误后崩溃。