螺旋数组.cpp

来自「五种排序算法」· C++ 代码 · 共 38 行

CPP
38
字号
#include <iostream> 
#include <cstdlib> 
using namespace std;

int main()
{
	int row=9,col=6;
	int **a=new int*[row];
	for(int l=0;l<row;l++)
	   a[l]=new int[col];
	int flag=0,i=-1,j=-1,k=1,p=0,q=0,m=row,n=col,MAX=row*col;

    while(flag<MAX)
    {
	    flag++;
    	for(q++,j++,i++;j<n;j++)
    	   a[i][j]=k++;
 	    for(i++,n--,j--;i<m;i++)
 	       a[i][j]=k++;
        for(m--,j--,i--;j>=p;j--)
           a[i][j]=k++;
        for(p++,j++,i--;i>=q;i--)
           a[i][j]=k++;
	}
	
	for(i=0;i<row;i++)
	{
	   (cout<<endl).width(5);
	   for(j=0;j<col;j++)
           (cout<<a[i][j]).width(5);
	}
    for(int l=0;l<row;l++)
	  delete [] a[l];
	delete [] a;
	system("pause");
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?