import org.junit.test;
/*** 全排序思路:假設有n個數需要進行全排列,我們可以把每個數都放到第乙個位置,然後剩下的n-1個數進行全排列。
* 即有n*(n-1)!種可能性,與n個數進行全排列的n!次可能性一致
* 利用遞迴的方式,依此類推當剩下的數個數為1時,為一次排列,輸出該排列。
* 所以遞迴函式可以如下permutation所示:
* @author yh
* */
public class allsort
system.out.println();
} else
} }
@test
public void testpermutation() throws exception ;
permutation(buf, 0, 2);
} }
執行測試,輸出結果:
abcacb
bacbca
cbacab
java實現快速排序 遞迴
快速排序主要思想 利用分治思想,設定乙個pivot,比該pivot大的數放在右邊,比該pivot小數的放在左邊,該pivot的位置確定,從而把數列一分為二,繼續遞迴迴圈。package sort public class quicksort2 a i pivotkey return i public...
快速排序 java遞迴實現
package com.bjsxt.test import org.junit.test 遞迴實現快速排序演算法 author jsqiu public class fastsort quick sort a,0,a.length 1 void quick sort int s,int begin,...
全排序 遞迴實現排列型列舉
把 1 n 這 n 個整數排成一行後隨機打亂順序,輸出所有可能的次序。輸入格式 乙個整數n。輸出格式 按照從小到大的順序輸出所有方案,每行1個。首先,同一行相鄰兩個數用乙個空格隔開。其次,對於兩個不同的行,對應下標的數一一比較,字典序較小的排在前面。資料範圍 1 n 9 輸入樣例 輸出樣例 1 2 ...