// Sigue sort_three con las 6 permutaciones: cada una termina en una hoja distinta.
#include <algorithm>
#include <iostream>
#include <vector>

#include "comparison_sorts.h"

int main() {
    std::vector<int> input = {1, 2, 3};
    std::cout << "entrada  respuestas  comparaciones  salida\n";
    do {
        std::vector<int> a = input;
        CountingLess less;
        sort_three(a, less);
        std::cout << input[0] << ' ' << input[1] << ' ' << input[2] << "    " << less.path();
        for (std::size_t pad = less.path().size(); pad < 12; pad++) std::cout << ' ';
        std::cout << less.count() << "              " << a[0] << ' ' << a[1] << ' ' << a[2] << '\n';
    } while (std::next_permutation(input.begin(), input.end()));
}
