Barebones排序算法

时间:2010-04-16 15:06:03

标签: algorithm sorting

我被要求做一个简单的排序算法,将6个数字的随机序列按数字顺序排序。但是,我被要求使用Barebones来做到这一点 - 这是一本在Computer Science, an Overview一书中提出的理论语言。

可以找到有关该语言的一些信息here

为了澄清,我是一名学生老师,并且一直在研究“迷你编程语言”及其在教学环境中的用途。我向我的导师建议我看一下准系统(语言),并询问我应该写什么样的例程。他提出了一种简单的排序算法。现在,从查看语言后,我无法理解如何在不使用数组和if语句的情况下完成此操作。

交换变量值的代码是

while a not 0 do;
    incr Aux1;
    decr a;
end;
while b not 0 do;
    incr Aux2
    decr b
end;
while Aux1 not 0 do;
    incr a;
    decr Aux1;
end;
while Aux2 not 0 do;
    incr b;
    decr Aux2;
end;

然而,该语言没有提供<或者>运营商。

我可以使用什么作为解决方法?

2 个答案:

答案 0 :(得分:4)

哦,来吧,开始考虑这个问题!

什么是阵列?变量列表。

所以Barebones没有if语句?这是循环。

继续做作业。

答案 1 :(得分:2)

有趣的运动。

我建议你先尝试实现以下内容:

  • 交换两个变量的值
  • 如果变量x的值>变量y的值,则将变量(比如z)设置为零。

由于程序应该精确排序6个整数,我想你可以假设它们在变量x1,x2,..,x6中。

最后我们需要:x1< = x2< = ...< = x6。