程序笔记   发布时间:2022-06-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了蛇形矩阵大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

蛇形矩阵,比如:

    1,2,3
    8,9,4
    7,6,5

要求输入3 输出1,2,3,8,9,4,7,6,5
php和Js分别试着解了下:

JavaScript:

    /*
      Created by licheng on 16/4/4.
      */

function snake(n){
function createMatrix(n) {
var matrix = new Array(n)
for (var i = 0; i < n; i++) {
matrix[i] = new Array(n)
}
return matrix
}

var matrix = createMatrix(n)
padding(matrix,n)
console.log(matrix.toString())

function padding(m,n){
var d = 1 // 控制填充方向,初始化向右(1) ,向下(2),向左(3) 向上(4)
var a = 0,//a,b为二维数组索引
b = 0,c = 1,// 方向改变变量,控制向右
i=1,//填充数字,从1到n*n
e = n,//控制改变方向的变量,控制向下
f=0 //方向改变变量,控制向左

 while(i<= n*n){
     if(d === 1){
         if(!m[a][b]){
             m[a][b] = i++
             b++
             if(b === E){
                 d = 2 //down
                 b--
                 a++
                 //cons<a href="https://m.code.cc/tag/ol/" target="_blank" class="keywords">ol</a>e.log(a+'and'+b)

             }
         }else{
                e--
                a++ ;b++;
         }

     }else if(d === 2){
         if(!m[a][b]){
             m[a][b] = i++
             a++
             if(a === E){
                 d = 3 //<a href="https://m.code.cc/tag/left/" target="_blank" class="keywords">left</a>
                 b--
                 a--
             }
         }
     }else if(d === 3){
             if(!m[a][b]){
                 m[a][b] = i++
                 b--
                 if(b < f){
                     d = 4 //up
                     f++
                     a--
                     b++ //回到首位

                 }
             }
         }
         else if(d === 4){
             if(!m[a][b]){
               //  cons<a href="https://m.code.cc/tag/ol/" target="_blank" class="keywords">ol</a>e.log(a+'and'+b)
                 m[a][b] = i++
                 a--
                 if(a<C){
                     c++
                     d = 1 //right
                 }
             }
         }
     }
 }

}
snake(3)

php

    <>php
/*
  Created by phpStorm.
  User: licheng
  Date: 16/4/4
 Time: 下午5:57
 */
function snake($n){
function createMatrix($n) {
     $matrix = array();
    for ($i = 0; $i < $n;="" $i++)="" {="" $matrix[$i]="array()" ;="" }="" return="" $matrix;="" };="">

$matrix = createMatrix($n);

 function <a href="https://m.code.cc/tag/padding/" target="_blank" class="keywords">padding</a>($m,$n){
  $d = 1 ;// right
  $a = 0; $b = 0;$c = 1;$i=1; $e = $n;$f=0 ;

 while($i<= $n*$n){
     if($d == 1){
         if(!$m[$a][$b]){
             $m[$a][$b] = $i++;
          //   var_dump($m);
             $b++ ;
             if($b == $E){
                 $d = 2; //down
                 $b--;
                 $a++ ;
             }
         }else{
             $e--;
                $a++ ;$b++;
         }

     }else if($d == 2){
         if(!$m[$a][$b]){
             $m[$a][$b] = $i++;
             $a++;
             if($a == $E){
                 $d = 3; //<a href="https://m.code.cc/tag/left/" target="_blank" class="keywords">left</a>
                 $b--;
                 $a--;
             }
         }
     }else if($d == 3){
         if(!$m[$a][$b]){
             $m[$a][$b] = $i++;
                 $b--;
                 if($b < $f){
                     $d = 4; //up
                     $f++;
                     $a--;
                     $b++ ;//回到首位

                 }
             }
         }
     else if($d === 4){
         if(!$m[$a][$b]){
             //  cons<a href="https://m.code.cc/tag/ol/" target="_blank" class="keywords">ol</a>e.log(a+'and'+b)
             $m[$a][$b] = $i++ ;
             $a--;
                 if($a<$C){
                     $c++;
                     $d = 1; //right
                 }
             }
         }
 }
 return $m;
 };

$matrix= padding($matrix,$n);
for($x=0;$x<$n;$x++){
for($y=0;$y<$n;$y++){
echo $matrix[$x][$y].',';
}
}

}
snake(3);
?>

大佬总结

以上是大佬教程为你收集整理的蛇形矩阵全部内容,希望文章能够帮你解决蛇形矩阵所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。