所以,我有一堂课,我们已经用 c 代码实现了快速排序算法,我们必须用 mips 汇编语言实现该代码。我已经成功编写了大部分代码,但是在某些递归方面遇到了麻烦。这是我关心的c程序的一部分:
...
tmp = v[left];
v[left] = v[last];
v[last] = tmp;
qsort(v, left, last-1);
qsort(v, last+1, right);
我遇到问题的部分是递归部分,即。qsort(v, left, last-1)...
我的问题是,当 qsort(v, left, last-1) 运行时,值 last-1 被保存为“right”。所以当递归调用完成时,我必须回忆以前的“正确”值。简单地说,我怎么能这样做?
编辑:问题是,数字列表越大,递归调用就越多,因此,我必须存储的值越多。我想,我想知道的是,是否有办法存储和调用可变长度的值?