sp; y=j;
flag=0;//因为是二维,所以用这个方法来记录下标
}
}
}
chess[x][y]=type*3;//用来记录这个点已经找过了,以便于下一次循环找其他的块
lqnode *r,*t;
r=(lqnode *)malloc(sizeof(lqnode));
r->x=x;
r->y=y;
q->rear->next=r;
r->next=null;
q->rear=r;
//进队列
t=q->front->next;
x=t->x;
y=t->y;
int num=0;
while(num!=4){
num=4;//这个是循环的条件,如果说这个节点上下左右都没有可以进入队列的节点了就退出
//以下是广度优先来找连在一起的点,找到就进队列,上下左右都找
if(chess[x-1][y]==type){
r=(lqnode *)malloc(sizeof(lqnode));
r->x=x;
r->y=y+1;
q->rear->next=r;
r->next=null;
q->rear=r;
chess[x-1][y]=twtype;//标记一下这个地方已经找过了
num--;
}
if(chess[x+1][y]==type){
r=(lqnode *)malloc(sizeof(lqnode));
r->x=x+1;
r->y=y;
q->rear->next=r;
r->next=null;
q->rear=r;
&