首页 > 代码库 > 螺旋矩阵算法
螺旋矩阵算法
螺旋矩阵算法是一种常用的算法,如图中排列数值;
代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
*{
padding: 0;
margin: 0;
}
ul{
border: 1px solid black;
border-bottom: none;
border-right: none;
margin: 0 auto;
overflow: hidden;
}
ul li{
list-style: none;
border: 1px solid black;
border-left: none;
border-top: none;
float: left;
}
</style>
</head>
<body>
<ul id="ul1">
</ul>
<script>
var oUl=document.getElementById("ul1");
var size=5;//网格个数
var len=size*size;//网格总个数
var sizeGrad=50;//网格宽度和长度
for(var i=0;i<len;i++){
var oLi=document.createElement("li");
oLi.style.width=sizeGrad+"px";
oLi.style.height=sizeGrad+"px";
oUl.appendChild(oLi);
}
oUl.style.width=size*(sizeGrad+1)+"px";
var aLi=oUl.getElementsByTagName(‘li‘);
var max=size-1;
var min=0;
var row=0;
var col=0;
for(var i=0;i<len;i++){
aLi[row*size+col].innerHTML=i+1;
if(row == min && col < max){//第一行取值
col++;
}
else if(row < max && col == max){ //最右一列取值
row++;
}
else if(row == max && col > min){ //最下一列取值
col--;
}
else if(row > min && col == min){ //最左一列取值
row--;
}
if(row == min + 1 && col==min){ //最外围取完值后,进行下一环的取值
min++;
max--;
}
}
// console.log(arr);
</script>
</body>
</html>
螺旋矩阵算法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。