若pn的最右最多有s个元素构成一个减序子集,令i = m - s,则有pn(i) i+1),其中pn(i)表示p的某个排列pn的第i个元素。...因此若将pn(i)和其右边的子集s {pn(i+1), pn(i+2), ..., pn(m)}中任意一个元素调换必能得到一个较大的排列(不一定是下一个),因此必须保持pn(i)左边的元素不动,并在子集...s {pn(i+1), pn(i+2), ..., pn(m)}中找到一个仅比pn(i)大的元素pn(j),即不存在pn(k) ∈ s且pn(i) i+1), pn(i+2), ..., pn(i), ...,pn(m)}成为最小排列即得到pn+1。...., pn(i), ..., pn(i+2), pn(i+1)}。