kevinsimard/combinatorics

研究有限或可数离散结构的数学算法。

v1.0.5 2016-04-07 01:25 UTC

This package is not auto-updated.

Last update: 2024-09-19 15:02:16 UTC


README

Build Status

用法

您可以通过使用 add 方法向列表中添加新元素

$instance = new Combinatorics(["foo", "bar"]);

$instance->add("baz");
$instance->add("qux");

// ["foo", "bar", "baz", "qux"]

您也可以通过调用 reset 方法重置元素列表

$instance = new Combinatorics(["foo", "bar"]);

$instance->reset();

// []

排列

$elements = ["foo", "bar", "baz"];

$instance = new Combinatorics($elements);
foreach ($instance->permutations() as $value) {
    ...
}

// OR

foreach (Combinatorics::permutations($elements) as $value) {
    ...
}

// [
//     ["foo", "bar", "baz"],
//     ["bar", "foo", "baz"],
//     ["bar", "baz", "foo"],
//     ["foo", "baz", "bar"],
//     ["baz", "foo", "bar"],
//     ["baz", "bar", "foo"]
// ]

结构

├── src
│   └── Combinatorics.php
├── tests
│   └── CombinatoricsTest.php
├── .editorconfig
├── .gitattributes
├── .gitignore
├── .travis.yml
├── LICENSE.md
├── README.md
├── composer.json
├── composer.lock
└── phpunit.xml

许可证

此包是开源软件,受MIT许可证许可。