Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menjana Gabungan dalam C Menggunakan Pilihatur?
Menjana Gabungan dalam C menggunakan Pilihatur Mudah
Dalam C , anda boleh menjana gabungan menggunakan pendekatan mudah yang melibatkan pilih atur. Kaedah ini memerlukan pemahaman tentang konsep penjanaan pilih atur, di mana susunan unsur penting.
Garis Algoritma:
Pelaksanaan:
Berikut ialah pelaksanaan algoritma ini menggunakan next_permutation:
#include <iostream> #include <algorithm> #include <vector> int main() { int n, r; std::cin >> n; std::cin >> r; std::vector<bool> v(n); std::fill(v.end() - r, v.end(), true); do { for (int i = 0; i < n; ++i) { if (v[i]) { std::cout << (i + 1) << " "; } } std::cout << "\n"; } while (std::next_permutation(v.begin(), v.end())); return 0; }
Penjelasan:
Fungsi atur_seterusnya menjana pilih atur leksikografik seterusnya vektor boolean. Dengan melelaran ke atas vektor dan mencetak indeks nilai sebenar, kami memperoleh gabungan elemen r pertama dalam set.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjana Gabungan dalam C Menggunakan Pilihatur?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!