STL C++全排列函式的使用
阿新 • • 發佈:2018-12-17
這是一個神器,一個全排列的函式 next_permutation(arr,arr+5),下面介紹用法:
用函式得先匯入標頭檔案 #include<algorithm>
示例程式碼如下
#include<stdio.h> #include<algorithm> using namespace std; int main() { //使用全排函式前先將陣列內容從小到大排序,不然直接結束 int arr[5] = {1,2,3,4,5}; do { for(int i = 0 ;i < 5;i++ ) { printf("%d ",arr[i]); }printf("\n"); } while(next_permutation(arr,arr+5)); return 0; }
大概內容是:
do{
對陣列操作
}while(next_permutation(陣列名,陣列名+長度));
示例程式碼中,for迴圈裡在順序列印陣列內容,這樣當while迴圈結束的時候,輸出的就是全排列了。因為while迴圈每迴圈一次,陣列內容就會變化一次排列,開始是從大到小排列,直到陣列內容從小到大的時候,排列就結束了。