/*
 *  k-permutation.c - the next k-permutation algorithm
 *  Copyright (C) 2010 Martin Broadhurst
 *  www.martinbroadhurst.com
 */


#include <combination.h>
#include <permutation.h>

#include <k-permutation.h>

unsigned int MBnext_k_permutation(unsigned int *ar, size_t n, unsigned int k)
{
    unsigned int result = MBnext_permutation(ar, k);
    if (result == 0) {
        result = MBnext_combination(ar, n, k);
    }
    return result;
}