Java實現陣列全排序(遞迴)

2021-07-09 15:35:25 字數 546 閱讀 6558

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 ...