Terdapat perpustakaan dan kaedah sedia ada dalam C yang memudahkan pengiraan pilih atur dan gabungan. Untuk menangani keperluan khusus yang dinyatakan dalam soalan, fungsi perpustakaan yang terkenal dan digunakan secara meluas ialah std::next_permutation dan std::prev_permutation daripada
Fungsi Pustaka: std::next_permutation
Fungsi std::next_permutation mengira pilih atur seterusnya bagi elemen yang diberikan dalam julat tertentu. Ia mengembalikan nilai boolean yang menyatakan sama ada pilih atur baharu ditemui. Jika pilih atur baharu wujud, unsur dalam julat yang ditentukan akan disusun semula dengan sewajarnya.
Contoh Penggunaan:
#include <algorithm> #include <vector> int main() { std::vector<int> elements = {1, 2, 3, 4, 5}; std::sort(elements.begin(), elements.end()); // Find and print all permutations of the sorted elements do { for (int e : elements) { std::cout << e; } std::cout << '\n'; } while (std::next_permutation(elements.begin(), elements.end())); return 0; }
Dalam contoh ini, fungsi std::next_permutation digunakan untuk mencari semua pilih atur elemen yang diisih dalam vektor. Fungsi std::sort digunakan terlebih dahulu untuk memastikan elemen berada dalam tertib menaik sebelum mengira pilih atur.
Fungsi Perpustakaan: std::prev_permutation
Serupa dengan std: :next_permutation, fungsi std::prev_permutation mengira pilihatur sebelumnya daripada elemen yang diberikan. Ia beroperasi dengan cara yang sama, menyusun semula elemen dalam julat yang ditentukan untuk mencari pilih atur sebelumnya.
Pertimbangan:
Atas ialah kandungan terperinci Bagaimanakah C \'s `std::next_permutation` dan `std::prev_permutation` Boleh Digunakan untuk Menjana Pilihatur?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!