打印指定顺序矩阵
admin
2023-06-14 16:02:16
0

01 02 03 04
12 13 14 05
11 16 15 06
10 09 08 07
打印如上顺序的矩阵代码

function sort_matrix($n){
$start_row = 0; $start_col = 0; $end_row = $n - 1; $end_col = $n - 1;
$row = 0; $col = 0; $type = 1;
$matrix_arr = [];

    for($k = 1; $k <= $n * $n; ++$k){
        $matrix_arr[$row][$col] = $k;
        if($type == 1){//第一行                
            ++$col;
        }elseif($type == 2){//最后一列
            ++$row;         
        }elseif($type == 3){//最后一行              
            --$col;
        }elseif($type == 4){//第一列               
            --$row;
        }

        if($type == 1 && $col > $end_col){//遍历未赋值的首行后开始行变量+1
            ++$start_row;
            $row = $start_row;
            $col = $end_col;
            $type = 2;//随后处理最后一列
        }elseif($type == 2 && $row > $end_row){//遍历最后一列后
            --$end_col;
            $row = $end_row;
            $col = $end_col;
            $type = 3;//随后处理最后一行
        }elseif($type == 3 && $col < $start_col){//遍历最后一行后
            --$end_row;
            $row = $end_row;
            $col = $start_col;
            $type = 4;//随后处理第一列
        }elseif($type == 4 && $row < $start_row){//遍历第一列后
            ++$start_col;
            $row = $start_row;
            $col = $start_col;
            $type = 1;//随后处理第一行
        }
    }

    return $matrix_arr;
}
//打印row行,col列矩阵
function print_matrix($matrix_arr, $row, $col){
    for($i = 0; $i < $row; ++$i){
        for($j = 0; $j < $col; ++$j){
            echo sprintf("%02d", $matrix_arr[$i][$j]) . " ";
        }
        echo "
"; } } $n = 4; $matrix_arr = sort_matrix($n); print_matrix($matrix_arr, $n, $n);

?>

相关内容

热门资讯

“假煽情”还是“真必要”?家长... 临近毕业季,全国不少高中都在为高三学生举办成人礼。身穿礼服、挽着父母的手臂走过“成人门”、互换感恩信...
原创 走... 地球知识局 文字 | 林间草木声 校对 | 朝乾 编辑 | Alicia 5月2号,拥有上百架飞机的...
ChatGPT为什么敢胡编?深... 我以第一人称写下这些文字,并非因为我是人类,恰恰相反——我是一个AI。准确地说,我是某个大型语言模型...
斩获低空经济优秀示范项目奖|九... 近日,九洲集团旗下产业公司九洲空管凭借标杆性产业项目与低空领域核心技术优势,成功斩获2026UASE...
原创 玻... 在现代工业暖通空调系统中,柔性风管在气流控制、空间优化和系统连接方面发挥着至关重要的作用。在各种柔性...
惠州全链协同打造人工智能和机器... 千台机器人有望在年内产线“上岗”、无人物流车进行商业化前期测试、具身智能机器人实现量产……当前,人工...
小米发布2026年Q1财报:总... 【太平洋科技快讯】小米刚刚发布2026年第一季度财报,当季实现总营收991亿元,经调整净利润61亿元...
美重启海外钨矿资源,“西方要想... 【文/观察者网 张菁娟】随着美以联合对伊朗发动军事行动,中东战事的持续,高强度战争对战略物资的海量消...
深耕齐鲁赋能小微,华为坤灵助力... 智能化转型,已成为中小企业发展要务...... 中小企业是实体经济重要组成部分,在科技创新、吸纳就业...
CIBF 2026 看点|比克... 2026年5月13日,第十八届深圳国际电池技术交流会/展览会(CIBF 2026)拉开帷幕,比克电池...