乙個簡單的問題 全排列

2022-04-30 13:12:12 字數 380 閱讀 9486

全排列一共分為兩種情況,有重複元素和無重複元素,大一開始做的時候不會寫,現在特意寫一下這個問題的各種解法。

1.無重複元素,這種相對簡單一些,用遞迴就可以了

首先找到第乙個字母,然後找到剩餘的字母中的第乙個字母,依次類推,很簡單,**如下:

//本來準備用dfs寫,發現兩個的複雜度是一樣的,就沒有必要了。

#include

#include

#include

using namespace std;

char str[10],ans[10];

int n;

void dfs(int cur)

while(strcmp(str,s));

return 0;

}

輸出乙個陣列的全排列

命題 將乙個陣列的全排列輸出,資料無素不重複 暫不考慮重複的情況.如 定乙個這樣乙個數 int a new a 4 輸出結果 1234 1243 1324 1342 1423 1432 2134 2143 2314 2341 2413 2431 3124 3142 3214 3241 3412 34...

排列演算法彙總(下乙個排列,全排列,第K個排列)

一 下乙個排列 首先,stl提供了兩個用來計算排列組合關係的演算法,分別是next permutation和prev permutation。next permutation nums.begin nums.end 下乙個排列 prev permutation nums.begin nums.end...

1005 全排列問題(dfs的另乙個用法)

題目 1005 全排列問題 description 輸出自然數1到n所有不重複的排列,即n的全排列,要求所產生的任一數字序列中不允許出現重複的數字。input 包含多組測試資料,每組測試資料報含乙個正整數n 1 n 9 output 由1 n組成的所有不重複的數字序列,每行乙個序列。sample i...