next_permutation を使ってみる (C++)
C++
Published: 2019-11-24

やったこと

順列を使うため、

  • next_permutation

を使ってみます。

確認環境

$ g++ --version
g++ (Homebrew GCC 9.2.0) 9.2.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

調査

test.cpp

#include <bits/stdc++.h>
using namespace std;

int main() {
    // ソート済みであること
    vector<int> v = {1, 2, 15};

    do {
        for (int i = 0; i < v.size(); i++) {
            printf("%d ", v[i]);
        }
        printf("\n");
    } while (next_permutation(v.begin(), v.end()));
}

出力結果

1 2 15
1 15 2
2 1 15
2 15 1
15 1 2
15 2 1

参考