采用逆序法生成排列 从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放在剩下的一个空位置上