Combinatorial algorithms in C
=============================

Welcome to my collection of combinatorial algorithms.

The algorithms included are as follows:
Power set
Power set of each set in the power set
Partitions
Cartesian product
Permutations
Combinations
Multicombinations
Combinations of a multiset
Subsets of a multiset
K-permutations

This package has the following structure:
Include
	comb-util.h
	combination.h
	k-permutation.h
	mbcommon.h
	multicombination.h
	multiset-combination.h
	multiset-subset.h
	n-tuple.h
	partition.h
	permutation.h
	subset.h
	subset-subset.h
Src
	comb-util.c
	combination.c
	k-permutation.c
	multicombination.c
	multiset-combination.c
	multiset-subset.c
	n-tuple.c
	partition.c
	permutation.c
	subset.c
	subset-subset.c
Examples
	combinations-elements.c
	combinations.c
	k-permutations-elements.c
	k-permutations.c
	multicombinations.c
	multiset-combinations-elements.c
	multiset-combinations.c
	multiset-subsets-elements.c
	multiset-subsets.c
	n-tuples.c
	partitions-elements.c
	partitions.c
	permutations-elements.c
	permutations.c
	subsets-elements.c
	subsets.c
	subset-subsets.c
Makefile
README (this file).

Building using GNU make on Linux:
To build the source as a library and the example programs on Linux, enter the root directory of the package, and type
$ make

Using Visual C++ on Windows:
1. Create a static library project called mbcomb and add all of the files from the Src directory to it.
2. Add the Include directory to the project's include directories, and build.
3. Choose an example program and create a console application project.
4. Add the program source file and set the include directory, add the static library to the linker inputs, and build.

You can also just compile those files you need into your application on either platform. 
Note that k-permutation.c depends upon permutation.c and combination.c.

The latest version of this package, and information is available at www.martinbroadhurst.com

You can contact me at martin at this domain.

MARTIN BROADHURST
