Traverse the matrix in a Spiral format ?
import java.util.*;
public class Matrix
{
static void spiral(int r,int c,int a[][])
{
int cs=0,rs=0,ce=c-1,re=r-1,z=0;
int arr[]=new int[r*c];
while(rs<=re||cs<=ce)
{
if(rs<=re)
{
for(int i=cs;i<=ce;i++)
arr[z++]=a[rs][i];
}
rs++;
if(cs<=ce)
{
for(int i=rs;i<=re;i++)
arr[z++]=a[i][ce];
}
ce--;
if(rs<=re)
{
for(int i=ce;i>=cs;i--)
arr[z++]=a[re][i];
}
re--;
if(cs<=ce)
{
for(int i=re;i>=rs;i--)
arr[z++]=a[i][cs];
}
cs++;
}
for(int i=0;i<z;i++)
System.out.print(arr[i]+" ");
}
public static void main(String[] args)
{
Scanner s=new Scanner(System.in);
int r=s.nextInt();
int c=s.nextInt();
int a[][]=new int[r][c];
for(int i=0;i<r;i++)
for(int j=0;j<c;j++)
a[i][j]=s.nextInt();
spiral(r,c,a);
}
}