文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>谨记一个容易错的地方

谨记一个容易错的地方

时间:2010-06-06  来源:chenyukang

大半个下午都耗费在这个问题上了,其实很简单,但是很容易乎略。
问题如下:
宽搜的时候定义一个QNd类,表示队列中的节点。

class QNd
{
public:
    int x,y,step;
    QNd(int xx,int yy,int ss)
        {x=xx;y=yy;step=ss;}
};

然后在BFS中写下了这样的代码:

while(!Q.empty())
    {
        QNd node=Q.front();
        Q.pop();
        for(int i=0;i<4;i++)
        {
            int nx=node.x+dir[i][0];
            int ny=node.y+dir[i][1];
            if(valid(nx,ny)&&(!visited[nx][ny]))
            {
                visited[nx][ny]=true;
                 //node.x=nx;
                 //node.y=ny;
                 //node.step++;
                 //Q.push(node); 就错在这个地方 在for(int i=0;i<4;i++)中还用到了node的值,而这里改变了.
                 QNd next(nx,ny,node.step+1);
                 Q.push(next);
            }
        }


谨记谨记。。。

相关阅读 更多 +
排行榜 更多 +
祖玛泡泡龙(经典祖玛)下载

祖玛泡泡龙(经典祖玛)下载

休闲益智 下载
网络掠夺者最新版下载

网络掠夺者最新版下载

休闲益智 下载
迷你冲撞小游戏中文版下载

迷你冲撞小游戏中文版下载

休闲益智 下载