ika 7 سال پیش
والد
کامیت
26d3a8b03f
3فایلهای تغییر یافته به همراه36 افزوده شده و 1 حذف شده
  1. 28 0
      8/function.cpp
  2. 2 1
      8/function.h
  3. 6 0
      8/main.cpp

+ 28 - 0
8/function.cpp

@@ -0,0 +1,28 @@
+#include <algorithm>
+#include <vector>
+
+#include "function.h"
+
+using namespace std;
+
+bool isswap(vector<int> &arr, size_t beg, size_t end) {
+  for (size_t i = beg; i < end; ++i) {
+    if (arr[i] == arr[end])
+      return false;
+  }
+  return true;
+}
+
+void permutation(vector<int> &arr, size_t pos, size_t len, vector<vector<int>> &res){
+  if (pos == len) {
+    res.push_back(arr);
+    return;
+  }
+  for (size_t i = pos; i <= len; ++i) {
+    if (isswap(arr, pos, i) == true) {
+      swap(arr[pos], arr[i]);
+      permutation(arr. pos + 1, len, res);
+      swap(arr[pos], arr[i]);
+    }
+  }
+}

+ 2 - 1
8/function.h

@@ -1,6 +1,7 @@
 #ifndef FUNCTION_H
 #define FUNCTION_H
 
-
+bool isswap(std::vector<int> &, size_t, size_t);
+void permutation(std::vector<int> &, size_t, size_t, std::vector<std::vector<int>> &);
 
 #endif

+ 6 - 0
8/main.cpp

@@ -1,5 +1,11 @@
+#include <>
+#include <vector>
+#include <string>
+
 #include "function.h"
 
+using namespace std;
+
 int main(int argc, char **argv) {
   
 }