列印數組所有排列 python

來源:互聯網
上載者:User

標籤:比較   pts   scripts   color   ret   自動產生   har   range   exe   

本人.net一名,最近在看資料結構與演算法分析,中間涉及的一些比較有意思的演算法題,打算用python實現以下。選擇python的原因,就是想熟悉一下python的文法,和pycharm基本的應用。

本篇,演算法為:列印數組的所有排列可能。廢話不多說,直接上代碼。

 1 #自動產生list 2 def creataList(n): 3     numlist=[]; 4     for i in range(n): 5         numlist.append(i); 6  7     return numlist; 8 #copy list排除某一個元素 9 def copewithout(lst,index):10     newlst=[];11     for i in range(len(lst)):12         if(i==index):13             continue;14         newlst.append(lst[i]);15     return newlst;16 17 #列印所有排列18 def printallchildlist(numlist,index,printlist,length):19     if(index==length-1):20         printlist[index]=numlist[0];21         print(printlist);22     else: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 def domain(num):29     numlst=creataList(num);30     printlst=creataList(num);31     printallchildlist(numlst,0,printlst,num);32 33 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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.