0

我在这里是关于我面临的一个查询。

我想知道如何进行桌面检查以下代码。

数据集

0 1  2 3  4   5  6  7   8   9  10  11   12  13  14 15

4 7 19 25 36 37 50 100 101 205 220 271 306 321 456 500 /* Numbers are a bit messed up */

算法 binarySearch

SET found TO FALSE
SET bottom TO zero
SET top TO sizeOfList-1
WHILE ( NOT found AND bottom <= top )
    SET middle TO (bottom+top) DIV 2
    IF searchValue < list element middle THEN
        SET top TO middle-1
    ELSE
        IF searchValue > list element middle THEN
            SET bottom TO middle+1
        ELSE
            SET position TO middle
            SET found TO TRUE
        ENDIF
    ENDIF
ENDWHILE

IF NOT found THEN
    RETURN –1
ELSE
    RETURN position
ENDIF
4

1 回答 1

1

最好的方法是首先绘制一个表格,每个变量都有一列(foundbottomtop等)。然后,“成为”计算机,一次单步执行您的程序代码(最好写下您访问的每个行号以进行跟踪),根据表中的值获取条件分支。每次修改变量时,都要在表中添加一个包含更新值的新行。最终,你应该达成一个return声明,然后你就完成了。

于 2011-06-07T19:22:58.247 回答