二维数组的螺旋输出~

我的方法是先输出最外边的矩形然后用递归进入里面的矩形----

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);
}

  

posted @ 2011-11-01 03:53  Sw_R  阅读(599)  评论(0编辑  收藏  举报