📄 3.20.txt
字号:
void ChangeColor(GTYPE g, int m, int n,
char c, int i0, int j0)
/* 在g[1..m][1..n]中,将元素g[i0][j0] */
/* 所在的同色区域的颜色置换为颜色c */
{
int i,j,t;
SElemType temp;
Stack s;
char d;
d=g[i0][j0];
g[i0][j0]=c;
StackInit(s,m*n);
Push(s,i0*(n+1)+j0);
while(1){
Pop(s,t);
i=t/(n+1);
j=t%(n+1);
if(i-1>=1&&g[i-1][j]==d){
g[i-1][j]=c;
Push(s,(i-1)*(n+1)+j);
}
if(i+1<=m&&g[i+1][j]==d){
g[i+1][j]=c;
Push(s,(i+1)*(n+1)+j);
}
if(j-1>=1&&g[i][j-1]==d){
g[i][j-1]=c;
Push(s,i*(n+1)+j-1);
}
if(j+1<=n&&g[i][j+1]==d){
g[i][j+1]=c;
Push(s,i*(n+1)+j+1);
}
if(StackEmpty(s)) break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -