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