今天在網上看到乙個有意思的題目,如何螺旋列印乙個陣列,比較好奇,就自己先用遞迴實現了一下。
目前看來,這個還只是實現了,有沒有更加高效的演算法呢,容我想想 ~~~~local randomarray = ,
[2] = ,
[3] = ,
[4] =
}for i,v in pairs(randomarray) do
if type(v) == "table" then
for i,v in pairs(v) do
endend
end--邊界條件:#tb = 1
function printaroundchars(tb)
if tb and type(tb) == "table" then
if #tb > 0 then
if #tb == 1 then
print("only one line")
else
local w = #tb[1]
local h = #tb
local leftx = 1
local topy= 1
local xcursor = 1
local ycursor = 1
for i = 1,w do
print(tb[1][i])
endfor i = 2,h do
print(tb[i][w])
endfor i = w-1,1,-1 do
print(tb[h][i])
endfor i = h-1,2,-1 do
print(tb[i][1])
endlocal nexttable = {}
for i = 2,h-1 do
for j = 2,w-1 do
if not nexttable[i-1] then
nexttable[i-1]={}
endnexttable[i-1][j-1] =tb[i][j]
endend
printaroundchars(nexttable)
endend
endendprintaroundchars(randomarray)
螺旋列印陣列
螺旋列印 include stdafx.h include include include int getcreatematrix int nvectors void spinnerprint int matrix,int n,int nvectors int main int argc,char ...
python 列印陣列
def hex print x for i in range 0,len x print 0x x ord x i 如果沒有print後面的那個逗號,每列印乙個就會換行,加了逗號以後,就後面加空格輸出 字串 str 轉換為列表 list d k.encrypt data list1 list d h...
陣列螺旋列印
package su.interview import utils.com.matrixer 螺旋列印數列 author toy public class array 01 j i 南 system.out.println b i j for int k 0 k n 1 k i j 西 system...