PHP實(shí)現(xiàn)順時(shí)針打印矩陣(螺旋矩陣)的方法示例
本文實(shí)例講述了PHP實(shí)現(xiàn)順時(shí)針打印矩陣的方法。分享給大家供大家參考,具體如下:
問(wèn)題
輸入一個(gè)矩陣,按照從外向里以順時(shí)針的順序依次打印出每一個(gè)數(shù)字,例如,如果輸入如下矩陣:
| 1 | 2 | 3 | 4 |
| 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 |
則依次打印出數(shù)字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.
解決方法
就是一圈一圈地打印,只要控制好循環(huán)就可以。
注意單行單列的情況。
實(shí)現(xiàn)代碼
<?php
function printMatrix($matrix)
{
$row = count($matrix);
$col = count($matrix[0]);
if($row == 0 || $col == 0)
return $matrix;
$result = array();
$left = 0;$right = $col-1; $top = 0;$bottom = $row-1;
while($left<=$right && $top<= $bottom){
for($i =$left;$i<=$right;++$i){
array_push($result, $matrix[$top][$i]);
}
for($i =$top+1;$i<=$bottom;++$i)
array_push($result, $matrix[$i][$right]);
if($top!=$bottom){
for($i = $right-1;$i>=$left;--$i)
array_push($result, $matrix[$bottom][$i]);
}
if($left!=$right){
for($i = $bottom-1;$i>$top;--$i)
array_push($result, $matrix[$i][$left]);
}
$left++;$right--;$top++;$bottom--;
}
return $result;
}
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《PHP數(shù)學(xué)運(yùn)算技巧總結(jié)》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結(jié)》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計(jì)算法總結(jié)》、《php正則表達(dá)式用法總結(jié)》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- PHP簡(jiǎn)單實(shí)現(xiàn)二維數(shù)組的矩陣轉(zhuǎn)置操作示例
- PHP實(shí)現(xiàn)圖的鄰接矩陣表示及幾種簡(jiǎn)單遍歷算法分析
- PHP使用數(shù)組實(shí)現(xiàn)矩陣數(shù)學(xué)運(yùn)算的方法示例
- PHP實(shí)現(xiàn)蛇形矩陣,回環(huán)矩陣及數(shù)字螺旋矩陣的方法分析
- PHP 數(shù)組和字符串互相轉(zhuǎn)換實(shí)現(xiàn)方法
- PHP中數(shù)組合并的兩種方法及區(qū)別介紹
- PHP遍歷數(shù)組的方法匯總
- PHP遍歷數(shù)組的幾種方法
- php數(shù)組函數(shù)序列之a(chǎn)rray_keys() - 獲取數(shù)組鍵名
- php獲取數(shù)組中重復(fù)數(shù)據(jù)的兩種方法
相關(guān)文章
php Yii2框架創(chuàng)建定時(shí)任務(wù)方法詳解
Yii2是一個(gè)基于組件、用于開(kāi)發(fā)大型Web應(yīng)用的高性能PHP框架,采用嚴(yán)格的OOP編寫(xiě),并有著完善的庫(kù)引用以及全面的教程,該框架提供了Web 2.0應(yīng)用開(kāi)發(fā)所需要的幾乎一切功能,是最有效率的PHP框架之一2022-09-09
php+mysql結(jié)合Ajax實(shí)現(xiàn)點(diǎn)贊功能完整實(shí)例
這篇文章主要介紹了php+mysql結(jié)合Ajax實(shí)現(xiàn)點(diǎn)贊功能,以一個(gè)完整實(shí)例形式詳細(xì)分析了實(shí)現(xiàn)點(diǎn)贊功能中涉及的html頁(yè)面、Ajax功能及php方法的使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-01-01
php對(duì)字符串中的特殊符號(hào)進(jìn)行過(guò)濾的方法
有時(shí)候我們會(huì)遇到過(guò)濾字符串中特殊字符的問(wèn)題,本文提供了三個(gè)處理特殊字符串的方法,文中通過(guò)代碼示例介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下2023-11-11
PHP SPL標(biāo)準(zhǔn)庫(kù)中的常用函數(shù)介紹
這篇文章主要介紹了PHP SPL標(biāo)準(zhǔn)庫(kù)中的常用函數(shù)介紹,本文著重講解了spl_autoload_extensions()、spl_autoload_register()、spl_autoload()三個(gè)函數(shù),需要的朋友可以參考下2015-05-05

