鍦ㄣ婄粍鍚堟暟瀛︺嬮噷闈㈠叏鎺掑垪鏄竴涓父瑙佺殑闂銆?br />
鎻忚堪濡備笅錛氭湁x1,x2,x3,...xn,鍏眓涓厓绱狅紝鎵撳嵃鍑哄畠鐨勫叏鎺掑垪銆?br />
濡傦細1 錛?2 錛?3
鏈?縐嶆帓鍒楋細 123錛?132錛?213錛?231錛?312錛?321
鎬濊礬錛?鍏冪礌鐨勫叏鎺掑垪錛屽叾瀹炲氨鏄亶鍒楀叏閮ㄥ厓绱犵粍鎴愮殑涓涓帓鍒楁爲錛岀敤鍥炴函娉曞彲浠ュ緱鍒版瘮杈冨ソ鐨勬晥鐜?鐗瑰埆鏄┖闂翠笂錛岋紝鐢變簬閬嶅垪鏁存5鏍戯紝鏃墮棿澶嶆潅搴︿負O錛坣!)
1 /**
2 * 鎵撳嵃鍑簂ist[k,m]鐨勫叏鎺掑垪
3 * @param list
4 * @param k beginning index
5 * @param m finishing index
6 */
7 static void getPerm(Object[] list, int k , int m){
8 if( k == m){
9 for(int i = 0; i <= m; i++)
10 System.out.print(list[i]);
11 System.out.println();
12 }else
13 for( int i = k; i <= m; i++){
14 MyMath.swap(list, i, k);
15 getPerm(list, k+1, m);
16 MyMath.swap(list, i, k);
17
18 }
19 }
寮曠敵錛氱被浼兼縐嶇畻娉曠殑榪樻湁灝辨槸鎵撳嵃瀛楃涓詫紙濡傦細ABC錛夌殑鐪熷瓙闆嗭紝鍏舵牳蹇冪畻娉曡繕鏄竴鏍風殑