采用逆序法生成排列
從n個空位開始,從左到右吧這些位置標為1,2,……n。
1:由于在排列中要有 個整數在1的前面,因為必須把1放在位置號為 +1的位置上。
2:由于在排列中要有 個比2大的整數在2的前面,而且這些整數還沒有被插進來,因此必須給這些數留出 個空位置,于是,把2放在第 +1的空位置上。
•
•
•
K:(一般的一步)由于在排列中要有 個整數在k的前面,而且這些整數還沒有被插進來,因此必須給這些數留出 個空位置。在本步驟開始時空位置的個數是n-(k-1)=n-k+1。我們把k放在從左邊數的第( +1)的空位置上。既然 ≤n-k,因此就有 +1≤n-k+1,從而這樣一個空位置就被確定下來。
•
•
•
N:把n放在剩下的一個空位置上
標簽:
上傳時間:
2013-12-15
上傳用戶:獨孤求源