文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>螺旋矩阵php版

螺旋矩阵php版

时间:2010-11-19  来源:biohfj

给定一个整数N,生成一个N*N的矩阵,矩阵中元素取值为1至N,1在左上角,其余各数按顺时针方向旋转前进,依次递增放置。 
例如,当N=4时,矩阵中的内容如下: 

1 2 3 4 
12 13 14 5 
11 16 15 6 
10 9 8 7
php的解法是这样的:

function ring_int($n,$data=1){
    $matrix=array();
    $ring=ceil($n/2);
    for($i=1;$i<=$ring;$i++){//分成环
        $x=$y=$i-1;//每环起点
        $rmax=$n-($i-1)*2-1;//成员个数
        if($rmax==0){//中心点
            $matrix[$x][$y]=$data++;
            break;
        }
        for($p=0;$p<4;$p++){//分成4面
            for($r=0;$r<$rmax;$r++){
                $matrix[$x][$y]=$data++;
                if($p==0)$y++;
                elseif($p==1)$x++;
                elseif($p==2)$y--;
                elseif($p==3)$x--;
            }
            echo $x."\t".$y."\n";
        }
    }
    for($x=0;$x<$n;$x++){
        for($y=0;$y<$n;$y++){
            echo $matrix[$x][$y]."\t";
        }
        echo "\n";
    }

}


相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载