正在阅读:经验分享:闲谈C++算法封装之穷举法经验分享:闲谈C++算法封装之穷举法

2004-03-26 10:05 出处:CSDN 作者:Kusk 责任编辑:linjixiong

    int x, y;

  };

    Pair虽然属于世界上最深奥的class之一,然而凭各位的智慧,我就不用多解释了。接着我们来看一下跳转函数的实现——当然,它应当符合WalkThrough中定义的StateJumper类型:

  bool counter(Pair& pair)

  {

    if (pair.y < 99)

    ++pair.y;

    else

    {

    if (pair.x < 99)

    {

        ++pair.x;

        pair.y = 0;

    }

    else

        return false;

    }

    return true;

  }

    counter的作用是试图将pair.y增1,但如果pair.y已经到达上限99,则将pair.x加1,同时pair.y置0继续下一轮;但如果pair.x也到了99,那么,噢,说明遍历结束了。——嗯,这样的确是一种有效的遍历方式,对吧。它实际上类似于下面的二重循环:
    for (; pair.x <= 99; ++pair.x)

        for (pair.y = 0; pair.y <= 99; ++pair.y)

             ...

 


 

察看评论详细内容 我要发表评论
作者笔名简短内容 发表时间
:

键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品