本人.net一名,最近在看資料結構與演算法分析,中間涉及的一些比較有意思的演算法題,打算用python實現以下。選擇python的原因,就是想熟悉一下python的語法,和pycharm基本的應用。
本篇,演算法為:列印陣列的所有排列可能。廢話不多說,直接上**。
1#自動生成list
2def
creatalist(n):
3 numlist=;
4for i in
range(n):56
7return
numlist;8#
copy list排除某乙個元素
9def
copewithout(lst,index):
10 newlst=;
11for i in
range(len(lst)):
12if(i==index):
13continue;14
15return
newlst;
1617
#列印所有排列
18def
printallchildlist(numlist,index,printlist,length):
19if(index==length-1):
20 printlist[index]=numlist[0];
21print
(printlist);
22else:23
for i in
range(len(numlist)):
24 printlist[index]=numlist[i];
25 newnumlst=copewithout(numlist,i);
26 printallchildlist(newnumlst,index+1,printlist,length);27#
主函式28
defdomain(num):
29 numlst=creatalist(num);
30 printlst=creatalist(num);
31printallchildlist(numlst,0,printlst,num);
3233 domain(3);
這是測試結果:
d:\learning\python\test\venv\scripts\python.exe d:/learning/python/test/2.13.py[0, 1, 2]
[0, 2, 1]
[1, 0, 2]
[1, 2, 0]
[2, 0, 1]
[2, 1, 0]
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...
螺旋列印陣列
螺旋列印 include stdafx.h include include include int getcreatematrix int nvectors void spinnerprint int matrix,int n,int nvectors int main int argc,char ...
面試訓練列印陣列
這道題目感覺有點複雜,至少我比較討厭這種題目 邊界條件考慮的過於多了。海濤的思路是 猜測確定邊界吧 應為5 5矩陣最裡面點為2,2 6 6矩陣最裡面的點為2 2 得出的節點時rows start 2 cols start 2那麼就滿足進行列印的條件就可以輸出。反正 不好寫,我還是感覺的謝謝吧。inc...