Có lớp mẫu C++ thực hiện các phép toán với hoán vị và nhóm hoán vị không? Lớp học như vậy phải thực hiện việc tìm kiếm sản phẩm và nghịch đảo, nhân, v.v.Có lớp C++ nào thực hiện các phép toán với hoán vị không?
Trả lời
STL bao gồm hàm hoán vị trong thuật toán.h. Đây là một ví dụ cho điều đó.
int main() { int myints[] = {1,2,3}; cout << "The 3! possible permutations with 3 elements:\n"; sort (myints,myints+3); do { cout << myints[0] << " " << myints[1] <<" " << myints[2] << endl; } while (next_permutation (myints,myints+3)); return 0; }
Xin vui lòng, "thuật toán" không phải là "algorithm.h"! – KTC
Làm cách nào để giúp tôi tìm thấy sự cho phép nghịch đảo chẳng hạn? –
Nó không. Hàm này chỉ liệt kê các thành viên của nhóm hoán vị. Nó không biết gì về cấu trúc của nhóm - nó chỉ dựa vào các phần tử của mảng đầu vào có một thứ tự xác định. –
Tôi không biết một, nhưng phải dễ thực hiện. Trong nội bộ, bạn có thể biểu diễn hoán vị dưới dạng vectơ, ví dụ: (1 3 4 2 7 5 6) là một perm 1-7 gửi 1-> 1, 2-> 3, 3-> 4, 4-> 2 vv hoặc như một tập hợp các chu kỳ, ví dụ: (1) (2 3 4) (5 7 6), và thực hiện các hoạt động về mặt này. Có lẽ đối số mẫu sẽ là kích thước của nhóm hoán vị.
- 1. Scala: Whats cách tốt nhất để thực hiện các phép toán số trong các lớp chung?
- 2. hoán vị với Lặp: Tránh Overflow
- 3. Các hoán vị có thể có của đầu vào BST
- 4. Thuật toán cho các phép tính không lặp lại?
- 5. Thuật toán hoán vị mà không cần đệ quy? Java
- 6. Tính toán hoán vị có ý nghĩa gì trong GWT?
- 7. C# Sự hoán vị của một mảng các arraylists?
- 8. Thuật toán để áp dụng hoán vị trong không gian bộ nhớ liên tục
- 9. Các hoán vị Python chủ đề
- 10. Có một chuỗi các hoán đổi sẽ tạo ra tất cả các hoán vị có thể không?
- 11. F # hoán vị
- 12. Hai mảng này có hoán vị nhau không?
- 13. JS gọi hàm với tất cả các đối số có thể hoán vị
- 14. hoán vị Tạo các yếu tố NSArray
- 15. Có một thuật toán để tạo ra tất cả các hoán vị tròn duy nhất của một multiset?
- 16. Tôi có thể thực hiện các phép tính số học trên Bảng số không?
- 17. Thực hiện phép thử với junit
- 18. Có cách nào để thực hiện các ràng buộc trong các lớp kiểu Haskell không?
- 19. Thực hiện các phép tính trên các thuộc tính
- 20. Python có được tất cả các hoán vị của số
- 21. GLSL có thực sự thực hiện các phép tính không cần thiết với các giá trị thống nhất (không phải trên mỗi đỉnh) không?
- 22. Điều chỉnh hiệu suất C# hoán vị và mã SHA1
- 23. Thực hiện các giao diện trong C++ với các lớp cụ thể kế thừa
- 24. hoán vị chuỗi trong Java (không đệ quy)
- 25. Bitwise thay đổi để tạo ra tất cả các hoán vị có thể trong C
- 26. Có thể thực hiện toán học bên trong CSS không?
- 27. Phân tích các phép tính toán với PHP
- 28. Các lớp trừu tượng có thể thực hiện trong C# không?
- 29. Việc thực hiện các phép toán tại chỗ có trả lại đối tượng một ý tưởng tồi không?
- 30. Sử dụng các chữ cái để thực hiện phép toán ma trận trong Javascript
Trong C++ hiện đại, bạn sẽ không sử dụng lớp học cho việc này. Bạn có thể sử dụng nhiều mẫu chức năng. Một mẫu chức năng cho mỗi hoạt động bạn muốn hỗ trợ, với phạm vi đầu vào thực tế templatized. – MSalters
Lập trình chức năng không phải là một tùy chọn. Lập trình hướng đối tượng là tốt. Tôi thực sự cần lớp mẫu. –
@MSalters: "Phạm vi đầu vào" là gì cho một hàm có hai hoán vị và trả về sản phẩm của các hoán vị đó? Bạn có gợi ý rằng hoán vị bản thân được đại diện tốt nhất cho khách hàng như là cặp lặp hơn là đối tượng mờ? Tôi nghĩ Alexey là sau một cái gì đó với nhiều kiến thức về lý thuyết nhóm hơn std :: next_permutation. –