二维数组的螺旋输出~
我的方法是先输出最外边的矩形然后用递归进入里面的矩形----
void spiral_print(int a[][5], int startX, int startY, int endX, int endY)
{
if(startX>endX || startY>endY)
return;
else if(startX==endX && startY==endY)
{
cout<<a[startY][startX]<<endl;
return;
}
for(int i=startX; i<endX; i++)
cout<<a[startY][i]<<" ";
for(int i=startY; i<endY; i++)
cout<<a[i][endX]<<" ";
if(endX != startX && endY != startY)
{
for(int i=endX; i>startX; i--)
cout<<a[endY][i]<<" ";
for(int i=endY; i>startY; i--)
cout<<a[i][startX]<<" ";
}
spiral_print(a, startX+1, startY+1, endX-1, endY-1);
}
浙公网安备 33010602011771号