C++中全排列算法函数next_permutation的使用方法
生活随笔
收集整理的這篇文章主要介紹了
C++中全排列算法函数next_permutation的使用方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先,先看對next_permutation函數的解釋:?http://www.cplusplus.com/reference/algorithm/next_permutation/?kw=next_permutation
?
從中可以看出,全排列的第一個序列為從小到大排好序的序列,最后一個序列為從大到小排好序的序列。
使用next_permutation函數的注意點:
(1)在使用此函數之前,必須先對原序列使用sort進行排序,不然則不能獲得其全部的全排列。
(2)在使用這些排列數作除法運算時,一定要將保存這些排列數的數組定義為double類型,或者將除法轉變為乘法。
? ? 因為int類型作除法會丟掉結果的小數部分,導致產生錯誤的答案!
(3)如果需要使用的個數小于全排列中的元素總數時,要注意判重。 例如,對1,2,3,4進行全排列,但是只需要取前兩個
數使用,此時就需要判重,因為1,2,3,4和1,2,4,3中前兩個數都是一樣的。如果不判重的話就可能出錯。
?
注意事項簡記為: 升序、除法、全序列。
轉載于:https://www.cnblogs.com/FengZeng666/p/10458638.html
總結
以上是生活随笔為你收集整理的C++中全排列算法函数next_permutation的使用方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CNCF宣布containerd毕业
- 下一篇: 【Camera专题】Qcom-高通OTP