{"id":19325422,"url":"https://github.com/krypt0nn/referencelist","last_synced_at":"2026-05-16T15:05:13.232Z","repository":{"id":144045225,"uuid":"187271423","full_name":"krypt0nn/ReferenceList","owner":"krypt0nn","description":"Связный список для PHP 7+","archived":false,"fork":false,"pushed_at":"2020-01-04T14:04:11.000Z","size":7,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-06T06:43:44.172Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/krypt0nn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"license.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-05-17T19:34:05.000Z","updated_at":"2020-01-04T14:04:13.000Z","dependencies_parsed_at":null,"dependency_job_id":"0d42c994-36c2-4f46-ae8a-f7f04fc4216f","html_url":"https://github.com/krypt0nn/ReferenceList","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krypt0nn%2FReferenceList","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krypt0nn%2FReferenceList/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krypt0nn%2FReferenceList/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/krypt0nn%2FReferenceList/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/krypt0nn","download_url":"https://codeload.github.com/krypt0nn/ReferenceList/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240427326,"owners_count":19799471,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T02:10:00.870Z","updated_at":"2026-05-16T15:05:08.193Z","avatar_url":"https://github.com/krypt0nn.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ReferenceList\n\n**ReferenceList** - структура данных [связанный список](https://ru.wikipedia.org/wiki/Связный_список) для **PHP** 7+\n\nДоступные операции:\n\n* вставка *(**insert**)*\n* массовая вставка *(**massInsert**)*\n* вставка по индексу *(**set**)*\n* удаление по индексу *(**remove**)*\n* получение по индексу *(**get**)*\n* поиск элементов *(**indexOf**, **lastIndexOf**, **customSearch**)*\n* получение списка элементов *(**list**)*\n* проход по списку *(**foreach**, **where**)*\n* объединение списков *(**union**)*\n\nХлеба и зрелищ! [Решето Эратосфена](https://ru.wikipedia.org/wiki/Решето_Эратосфена):\n\n```php\n\u003c?php\n\nuse ReferenceList\\ReferenceList;\n\nfunction sieve (int $num): ReferenceList\n{\n    $sieve = new ReferenceList ([false, false]);\n\n    for ($i = 2; $i \u003c= $num; ++$i)\n        $sieve[$i] = true;\n\n    for ($i = 2; ($j = $i * $i) \u003c= $num; ++$i)\n        if ($sieve[$i] == true)\n            for ($j; $j \u003c= $num; $j += $i)\n                $sieve[$j] = false;\n\n    return $sieve;\n}\n```\n\nСписок простых чисел:\n\n```php\n\u003c?php\n\nuse ReferenceList\\ReferenceList;\n\nfunction simples (int $num): array\n{\n    $simples = [];\n    $sieve   = new ReferenceList ([false, false]);\n\n    for ($i = 2; $i \u003c= $num; ++$i)\n        $sieve[$i] = true;\n\n    for ($i = 2; ($j = $i * $i) \u003c= $num; ++$i)\n        if ($sieve[$i] == true)\n            for ($j; $j \u003c= $num; $j += $i)\n                $sieve[$j] = false;\n\n    $sieve-\u003eforeach (function ($node, $index) use (\u0026$simples)\n    {\n        if ($node-\u003edata)\n            $simples[] = $index;\n    });\n\n    return $simples;\n}\n```\n\nТоже самое, только количество простых чисел:\n\n```php\n\u003c?php\n\nuse ReferenceList\\ReferenceList;\n\nfunction simples_count (int $num): int\n{\n    $sieve = new ReferenceList ([false, false]);\n\n    for ($i = 2; $i \u003c= $num; ++$i)\n        $sieve[$i] = true;\n\n    for ($i = 2; ($j = $i * $i) \u003c= $num; ++$i)\n        if ($sieve[$i] == true)\n            for ($j; $j \u003c= $num; $j += $i)\n                $sieve[$j] = false;\n\n    return sizeof ($sieve-\u003ewhere (function ($node)\n    {\n        return $node-\u003edata;\n    })-\u003elist ());\n}\n```\n\nВ общем, вы поняли\n\nАвтор: [Подвирный Никита](https://vk.com/technomindlp). Специально для [Enfesto Studio Group](http://vk.com/hphp_convertation)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrypt0nn%2Freferencelist","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkrypt0nn%2Freferencelist","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkrypt0nn%2Freferencelist/lists"}