{"_id":"k-datastructures","_rev":"7-fe607966f9cbf3bcec4f54785e0f2af5","name":"k-datastructures","dist-tags":{"latest":"1.0.7"},"versions":{"1.0.0":{"name":"k-datastructures","version":"1.0.0","description":"","main":"dist/index.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"webpack"},"keywords":[],"author":"","license":"ISC","devDependencies":{"webpack":"^5.50.0","webpack-cli":"^4.7.2"},"_id":"k-datastructures@1.0.0","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"kryst4l","email":"690039872@qq.com"},"dist":{"integrity":"sha512-j8FfYn/lClCuBQVIYRo5dKAP2But4uLQ1Tw9tOj2yYdgu2pB0H2kC7bkl/GIbUy/EUzVqkCB0NYALd/YneNScw==","shasum":"615000458a39795c8bb13b1a831376175e18b075","tarball":"https://registry.npmjs.org/k-datastructures/-/k-datastructures-1.0.0.tgz","fileCount":14,"unpackedSize":36676,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhFJeuCRA9TVsSAnZWagAA/ycP/0LVFAR7NRi3Zy5EZQdZ\n26dmXkJ4SKs7CwyEFJypDryuR8H0/8c1oDBV2AITHEnBfOPJ/nrnt7mkadLE\nlfe8TN+dBc3aLZtvpZuumrtqOAFvg+LyJLOHwo0ivp5QqliD2Ndj7QhNQFBe\neH6ooqKgb0N5sgbvGhU1vfIDZx2U+rV1v9BbFsXSTe7YaNL6qWKy/HbOksM4\n55mRaIj1cgEyRjiYmJMcYIPzyyTFD2zSUyGnWY04HmLMcyAqRObUEh6AODTL\n2rYOys0aNNAJFOAeRYkrlkagmA5Yvc9sbRXstPT+HWuXedeSWP23pYE6IEal\nkQth1st1RktUgn+7NJyubeIU35bqlppN/ML1e9W+RCtr81WDozRjb4Yvb7CK\n/EAqidXyHDfntreIdldpHKq/6C005/isynv1UuPVsdur2BAAk6zH683WNFgT\nH/bHmVAAHCi9HwcdK+Yta5lkkDdMbOmlVy3RXnUVuBdgFpBwqg+sDDmyN6w0\nT1rC0UzDW4X4lSD9QvJtqxmNNt14MYfz1vrHku1lh1TX9IXHXycAY6PUFdqv\nEw/zcqNBCl3InDF5Bmk07BLjPE4Ut6RPkRn/6sBMOr7Zh0pBiJlyJsqk9PP9\npSsSo4dhk81E1V5SCC1B+Zm1+SpbqazrdqMXDhkbtn0ohG+rVJMuZwsVZLY3\n7pFI\r\n=bSTq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDJLkVJXve6WukhdH9t3auf/HVJ86LzKTyH70KMnvOpvQIgUHlEH3II266dteEDIjaKtIcCPrrHV34Cr0sfNzj4YVU="}]},"directories":{},"maintainers":[{"name":"kryst4l","email":"690039872@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k-datastructures_1.0.0_1628739502628_0.27077507445570514"},"_hasShrinkwrap":false},"1.0.1":{"name":"k-datastructures","version":"1.0.1","description":"","main":"src/main.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"webpack"},"keywords":[],"author":"","license":"ISC","devDependencies":{"webpack":"^5.50.0","webpack-cli":"^4.7.2"},"_id":"k-datastructures@1.0.1","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"kryst4l","email":"690039872@qq.com"},"dist":{"integrity":"sha512-FVY7AFZ9Hj2m92dEceP7xDO24TLc6ULFSIMy1zN1g4xZFFLUTXMTQtQQ4vRfx1Iljr3nWeXoUaWOcuQ836/J/g==","shasum":"117c8df673dd90ed4ef564044520ba4b406e3b8d","tarball":"https://registry.npmjs.org/k-datastructures/-/k-datastructures-1.0.1.tgz","fileCount":13,"unpackedSize":29055,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhFLgiCRA9TVsSAnZWagAAAu8QAIiADcgObJHMaEr6FnUn\nS53/8w7QsM316HFtZMWNPylOo6G4/w5WTJNC0TjPvgD793YQwV+/ACBruc7p\n2tfp2HQ+IM0e/GVNbHl1isgQZ93uq2Yxj0eWe0BNYhs0OZSyhY/qsv5pQnrE\nRV6x5oPUpVtMCrNQa0OnmRXaw4S45jtQhqo5xjxdldhDUfw9ObRDm7eMyvIZ\n+6y0VIwWrDRC8ozQ/+FgIwCgKNoz6ZlRoZw9gizyc87Pt1cJ6/eokyX/TgqD\nXuFljoESvkfsHDaeYG5EDQxNRkbQoOCwG6YGWDd9PI96a0gHdMDgxjGjHQXW\n5RsCx1nxUtR7ZZes4tm3mL4xEWwXJOBfbzLWYZhqYas/IyL1TZ2jOH+dgPXq\nqpuECqncnBBOt25/0Avb15YM0HQ7Es4s6G6YANa1EuTaLOBUCkRx6CkA4NmQ\nn9165L3XNSFbK+zuED1s7Eyrt3uTtCuQ9U9VpWYuuf0bM6TKFzFP5C7u+cKb\nQaUdCZQ3fFK5+iikhtNiHYTH1uOIiFxL2YsBK6K0NHH1fpm5pHYujI+hC0uw\n7GLY0IrMxoRe6fS6LR9qy1YO95LcJfcgmt4ne19VSUkXEuLSCYuhDQ9/oV5Z\n2PBE3OjDwAzrpvaXOSkjbrwqInbUNa/QqL3Vu56r4MLCVJcPMtDOeopMKunI\nJY2w\r\n=zmse\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCvOcXU7bm2mgjqowh2xNZxFbef9NjJTDFnJB4GFp/loAIgNKk5c9RWISFkttn0JevB4ARVmFRQG2yffxxaVQ7v4gU="}]},"directories":{},"maintainers":[{"name":"kryst4l","email":"690039872@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k-datastructures_1.0.1_1628747810077_0.29436571003055634"},"_hasShrinkwrap":false},"1.0.3":{"name":"k-datastructures","version":"1.0.3","description":"把用JS描述的数据结构封装，发布到npm，通过npm引入此包，可以在项目中使用封装好的数据结构","main":"src/main.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":{"name":"zhouxiaolei"},"license":"ISC","devDependencies":{},"gitHead":"2ac4a7c56ae6037c4dceede62672d68b8efac8c4","_id":"k-datastructures@1.0.3","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"kryst4l","email":"690039872@qq.com"},"dist":{"integrity":"sha512-c335tnoetBgn0AzVOYd/kXE9E7MJjdlKN9rSOMOmRDQ1L/Ec9RXBJ4iRwPNxYLJa9c7VBakIPeiRv8/k0PagLQ==","shasum":"3dd4469d128f0048ec0eec149144b9cee7fc7055","tarball":"https://registry.npmjs.org/k-datastructures/-/k-datastructures-1.0.3.tgz","fileCount":13,"unpackedSize":28954,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhFL9YCRA9TVsSAnZWagAAg5kQAI/o7xM6tDqID++xRZ37\n/NobAvpUcOYrHF4UUkERt7q7SDK4KhrwDgFtjCz9gOeUlfxly9BTycMN0GeA\nbYC+RKwbdch/86DEqgfHXtxG/+EQ9afjzWofIs4eB/p0+os5RuBeJ3xmAdE/\nFGSg4aXZCyl3zbAcMzn2jieI8C+kyg3Y1uhdQwGjIKLSbHUiPJVvtNg3uTMd\nAqxvj/FVDWMd26NsAUigtjg69xSbgGiWVYmnehkdLndwJc1wFUOzDlcUEs7s\njo0vGMgL3ijCLjkhbjFZZARx13IfGJi8WLaQiC4EgDAdptUtiEQg4D+d3fbn\n0XoYEJxy6NDh5xUADKnu092VEWnWM4RNIDVrj+XDuifkDyepxEcEmHv9Zi7+\nbNnBhn6xAtgtgoUzzwkYAyNR+qkSj0YSxsMpD+Dga+OyGIb19Rfm7de5EivH\n9HkN9NrD5siiNXb0mUvaAnM29hf5BGdIRdPP6uhlEe3NK3GsKqlhlKLGLeTB\nCzDpiIrkq/yCknjo84VHAreripJfqi/IeBdcr0fXKIInp7+pRRRKIw6P7k86\ndG3BYzVZyXo/pG3jKKfnuYFIP6P9uGvlSJw7aVyNdZUFCC3p4yFzOUrwq2uJ\neo/f+m+veQKuLeja1MJoTBq0q87eWJouZh3uC2YLMAiBYYzmK5ELZS7EPVAP\n9fRJ\r\n=N7dq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDBaBPLHk/s18trcjbXMWiJEq9/s3d8dCvcetT5c0/s5AiEA3AMXLiosplRpgPmgDwbH9mwBaCFoPad8/bOoeUzYZb8="}]},"directories":{},"maintainers":[{"name":"kryst4l","email":"690039872@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k-datastructures_1.0.3_1628749656326_0.46230004298627225"},"_hasShrinkwrap":false},"1.0.4":{"name":"k-datastructures","version":"1.0.4","description":"把用JS描述的数据结构封装，发布到npm，通过npm引入此包，可以在项目中使用封装好的数据结构","main":"src/main.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":{"name":"zhouxiaolei"},"license":"ISC","devDependencies":{},"gitHead":"be9dd410b371dc4ed7db249c8e479bef3fb4a6ba","_id":"k-datastructures@1.0.4","_npmVersion":"6.4.1","_nodeVersion":"10.15.3","_npmUser":{"name":"kryst4l","email":"690039872@qq.com"},"dist":{"integrity":"sha512-F9iG6KmVAA6gCNPhSucPqAfyUjDN5KVxQtnXUnxTmtif+yFOMrd2bLxBFuXxDX2fZtf4Z0DiStYV6aE6MdD5hA==","shasum":"bf8169c62e99cbb804956aa83900d03360a72943","tarball":"https://registry.npmjs.org/k-datastructures/-/k-datastructures-1.0.4.tgz","fileCount":13,"unpackedSize":38205,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhFi9cCRA9TVsSAnZWagAAG64P/jEL6l3CIdKKn2RAKWT9\n9Hs88lUqWhfZ1l0TFH8/oqMBf3Qr7tAyK3OdbJ1om9vLv+XZKGaqIkWhDKEX\nLgH4rD4TvyXlwTr9MWrvgCMTthw08OB30hggsto0R5EoucBpok4cYi7gZFSp\nCcflXiU7Q1D/mq8dHMKNt4xna63aEq1Y3TSrHDaSC5vdhViYpoW1i5TjEx2m\nEyCwPsWA3dEjULIxQk/mzNLXbgRJ8LP7IeTbX474tBV5FWdCYMi6goDdzQLy\npO3/9CxXIEeY/UV1BDMcMifc4E2Q5Lq/tVJaNZlmoEJYLIIX5QINblc9bP5P\nyTlHRxJ63HgZh7dBHNelG6r/Z3EdIoFfnID3vQ8fXD2/63Xcjt0Pi1mYkr2R\nZJ4vHpQAKe6809SGj7xB2yVMaaiGP2Ig2bh7jrawpcVfvPj7DtvX3V6fJVZ1\nS0pyBTX+SQQ9+BVplD2R3eg2yTm5A7TnX158t1QwMQIHimPyBjd11rHTHvLC\njE9zC0gKmEqoEh4d8AoINiZo44Vf2VMvpCV/HiLtjIofi3+/+G0F0IEQ9JUg\ni+Hn3rwIYg5UtGP+Sh2H20dpL/a31mCkWRcxdB4OPpmf+OV2ftI4am5LlzjD\n6D9UitV/PH8tXjhDNbvk4NaWm+e97ZB5/mFs3xkk6KoYLOYvGn33Kph6/imP\ndGuo\r\n=rPO7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAuWm3Oyp5x5hXDtaIN07ajDGaLK7blnq1QCk/r90gEZAiEAlV744Iit9alaeaZCh6MrXj6a56gsRfKN/M4a7F80b0A="}]},"directories":{},"maintainers":[{"name":"kryst4l","email":"690039872@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k-datastructures_1.0.4_1628843868554_0.692538316053293"},"_hasShrinkwrap":false},"1.0.5":{"name":"k-datastructures","version":"1.0.5","description":"把用JS描述的数据结构封装，发布到npm，通过npm引入此包，可以在项目中使用封装好的数据结构","main":"dist/k-datastructures.common.js","scripts":{"build":"cross-env NODE_ENV=production webpack --config build/webpack.build.js","test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":{"name":"zhouxiaolei"},"license":"ISC","devDependencies":{"clean-webpack-plugin":"^4.0.0","cross-env":"^7.0.3","html-webpack-plugin":"^5.5.0","webpack":"^5.68.0","webpack-cli":"^4.9.2","webpack-dev-server":"^4.7.4"},"gitHead":"1782f837620d4f27adc70d8ffe6c0f9b1e2fa095","_id":"k-datastructures@1.0.5","_nodeVersion":"14.19.0","_npmVersion":"6.14.16","dist":{"integrity":"sha512-bcMW6ibsV1Q1iYHd3UQL3oqrZYNmayVYmLImqxMG6DOJnqDB4zawRfK/yFYnzRBFl3Zvl5+4Ol4oX8seWU2TYA==","shasum":"6d8321dbc83cf55d275221bdfac4391b1f83a062","tarball":"https://registry.npmjs.org/k-datastructures/-/k-datastructures-1.0.5.tgz","fileCount":15,"unpackedSize":45129,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiKKmpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrynA//b4O3lZIoAvoEZJo4A0YeCliVWClZH8dWAEbiJE+FEoj44k1g\r\n13eHwY24DSxgi9BAAxjra90WS5nBGKLUf7K7Xc7Yx59SwJmcSG2XkKVbG5gZ\r\nuexCR0Ne1622lPxK5zVG+7ryv5uoYDyEbNSUkfhda6nBmNgl7YEsULAqyq3I\r\nC/QfBsuA1kpNvIcY979hUEqJQJri7nI0M6BZYqoDDPkM4MP8ZuWCIXeN2XHt\r\niQVYEL2Lkm0hby/q4jjb1LFGY6GIf2M7UpD8IK5XpVeA851tJO3HVedMGrSq\r\n+pfGISnhCtTBgFybtMS6oYT46Wd9PexkimM37+abutxHi2FKL5APQG7uumps\r\nkkiUTnPN42ngtc+vE8Y33gvQu1DM/LgNck+2SO9PLsdHst88ie8tM5UUfUMS\r\nnviNdcgbidcbyJhqrrmGoOhP0cWcJrTp2Hm6KJJg2nMwHQ0S4tJyLS+bDHzM\r\nY4F8mw7Kh9d2oHUngnAf/nGwalyKVSzmSFwfwWhykeY+Wu0E6pZaypVDBcMB\r\nar7kmktAd1sgJeN0v4rkgRB2jBaIbGiK9Hr1n77q4t++F9avewRz2ji1oTRq\r\nr0cxkZxNSfKNAGy2c1WGxp44MEMH3R43gChyJ+BkEYMwILA+RbmSSA3UriB0\r\nQEfGu2V1um0Z8YG57NPfsESa7eyI5ljRMIY=\r\n=iFMZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDwj2LKILcz0gxrokiLpt1bSfJfyekvaxH1IwSfytEjDAiBlXpOrdPpMpFZTvzO6f2wZAsmbqjvqNysDVgoKhjxZBA=="}]},"_npmUser":{"name":"kryst4l","email":"690039872@qq.com"},"directories":{},"maintainers":[{"name":"kryst4l","email":"690039872@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k-datastructures_1.0.5_1646832041581_0.548920390744815"},"_hasShrinkwrap":false},"1.0.6":{"name":"k-datastructures","version":"1.0.6","description":"把用JS描述的数据结构封装，发布到npm，通过npm引入此包，可以在项目中使用封装好的数据结构","main":"dist/k-datastructures.common.js","scripts":{"build":"cross-env NODE_ENV=production webpack --config build/webpack.build.js","test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":{"name":"zhouxiaolei"},"license":"ISC","devDependencies":{"clean-webpack-plugin":"^4.0.0","cross-env":"^7.0.3","html-webpack-plugin":"^5.5.0","webpack":"^5.68.0","webpack-cli":"^4.9.2","webpack-dev-server":"^4.7.4"},"gitHead":"1782f837620d4f27adc70d8ffe6c0f9b1e2fa095","_id":"k-datastructures@1.0.6","_nodeVersion":"14.19.0","_npmVersion":"6.14.16","dist":{"integrity":"sha512-AHC0KSzQpnTE8U/zHSIZ9CreVwUMx9T9Zl/F9wwebesVT3WmIUiFRJqm+wlGRta0vxnG9C5wp9o53r3MUTAPuw==","shasum":"14a59e72894475d4442270547c016bc02a7e3ce9","tarball":"https://registry.npmjs.org/k-datastructures/-/k-datastructures-1.0.6.tgz","fileCount":15,"unpackedSize":45930,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiKKrzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoKNw/+Mem6xRw3Qx7PagZLekWBoJ3tMkUo2/wJyuVL10YjeGyGfeog\r\nl4LTOkBLh2OYAKPfT+myOLtzZCr/PvPlbkTtaHVq76XUt5YqKfS3rUWfFHEw\r\nUPBpTKW9T35wAiB7EZ6fms/rOAqFmFICJr1OSA7f2NvF4clAMD/YcgSfzXPt\r\n0CUFcANUD/PvNBLq1rIex0ARR0OKeGL31kHF+0Ur6rx3EXAX37u5IMeJ6sZh\r\nQrUUUbys21w9uS8drfyRjQ3Omjx+Hm7K5SLl404kWpixvVZC2nWMFMHTogiS\r\n5DasHic2WBcHPNNc8mvXHpfPEiqdw7xrvDTp4xlw1W2ojQ3c1h/wuEtMwQs7\r\nlUbeU8zAAcBqYHFlzV/JkDxAvPKwEiVsEixcGFMLXZFaxkhvhyWPxn1LyJ/U\r\nQUK6BeyP+ggXC7Cs1tG5GH4V3NT/V6/nWph3fv7OuoCUCQTnnvfR9PUijNDA\r\nfpHh9U5gv//atb2UJOJM5MRwafMBQXatvKMd2+OtJFKmiBJrz+mm1yh4a5dL\r\nAz/kgWZdL2G7toU3WQxKJZ+5C9XevYq2JH75c5dbEA5PK2xZsDTUG8tdbj3o\r\nM8mN49xz/dmibfKVBdqeUUwOiIudBGWxrDsKZ+BLYfe5iNQF394xwsDJoQo4\r\nSr9ul+VJDDa6m8w2r16rUQynuvjGQ3tfKNM=\r\n=vuyi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF6LYR50mnFyWjhCT1jZ1kFNPQYusRRxNFlMwzLiDE3mAiEAxW/MgUMnw19+tWPnSQiCrjFPVlBwf4dzpr3zJj/dxY0="}]},"_npmUser":{"name":"kryst4l","email":"690039872@qq.com"},"directories":{},"maintainers":[{"name":"kryst4l","email":"690039872@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k-datastructures_1.0.6_1646832371157_0.48708083433599936"},"_hasShrinkwrap":false},"1.0.7":{"name":"k-datastructures","version":"1.0.7","description":"把用JS描述的数据结构封装，发布到npm，通过npm引入此包，可以在项目中使用封装好的数据结构","main":"dist/k-datastructures.common.js","scripts":{"build":"cross-env NODE_ENV=production webpack --config build/webpack.build.js","test":"echo \"Error: no test specified\" && exit 1"},"keywords":[],"author":{"name":"zhouxiaolei"},"license":"ISC","devDependencies":{"clean-webpack-plugin":"^4.0.0","cross-env":"^7.0.3","html-webpack-plugin":"^5.5.0","webpack":"^5.68.0","webpack-cli":"^4.9.2","webpack-dev-server":"^4.7.4"},"gitHead":"1782f837620d4f27adc70d8ffe6c0f9b1e2fa095","_id":"k-datastructures@1.0.7","_nodeVersion":"14.19.0","_npmVersion":"6.14.16","dist":{"integrity":"sha512-px6cPW47yxBs/Ud1QfR8HwSrvbbqMDIxBzikN6kZOlXECqB9LYDCTUZ3YA7Y/ZYpBaJqdFPJvdracFUJtgmmQw==","shasum":"76c2c1ca17cf4e9c31bdc653369f250e0770491d","tarball":"https://registry.npmjs.org/k-datastructures/-/k-datastructures-1.0.7.tgz","fileCount":15,"unpackedSize":45579,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiKKv/ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmog5RAAjXmPr+XK9F4huclvgNb7BbMBv7GLGFHNVIWrUT4ds2jz0q8Z\r\ncCBheN6Tb9bvR/G/V6SnfjuEY/OQO35w0/EppUcTgstO3+XNjH4iD/wG9NaH\r\nG7SgEk9CDrJ8EtKYHnddi0KFrTMuFEr818/tqorm4Hke+Xzd1QMMQul1GP2d\r\ngaASY+TDwsMLqgKr/jpfu1Go9E0kE8CSd5WPDSoEwxEl2+5dN5vl24xHg4DZ\r\na83Dm36tdY96A/FMETJI4U9+Twbo0EuVDgPNclLgH4+OpTGEXSlMyeu0p6f4\r\n9wdBcTgt8dZzFtp+sMX2LOlhDQuAjAM1i6BlwvptRPUsLNXUHUPsB/lsTpWn\r\njohERbnqjBEKht/kfv30A4Fu7NM6A9pBbrmUe6KybBVYcA7S2AS9cRg+JI3f\r\nRWKepQamBkYsp5i815Oj3XInUsV+qazWNDMjHWaLnqfH3TFyAH3dvKxmhv9x\r\njJZh8hXsTdTHIUuSFiHOAQmG2ITd9/QtJwruT0qMEUOk0jon3UBjoK5dRpgh\r\nMocb2wSa00jRtAyyx3ZLCQW8WPYCMHMgXl5Ctt4ERaoSwYF6tcE0SiI2RZ1T\r\nb59P2iZZCi5N7nNqQS0XYjvqe2yZCSdlpBr3wOWIHmVoDbi0bowLbwiXWII1\r\n5eeGyaUoWgswKKEHwnq8M3N+sLywkhhLqKs=\r\n=kvTB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDLM5mpIX7PdSquxr58OxSdQjzaBVjUN7GHhmwszJaugAiBKQrMTUNZTpQn1zFvGVJHLMT7o3JshRbM0MsZWHoOqaA=="}]},"_npmUser":{"name":"kryst4l","email":"690039872@qq.com"},"directories":{},"maintainers":[{"name":"kryst4l","email":"690039872@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/k-datastructures_1.0.7_1646832639697_0.22844638404247997"},"_hasShrinkwrap":false}},"time":{"created":"2021-08-12T03:38:22.628Z","1.0.0":"2021-08-12T03:38:22.778Z","modified":"2022-05-07T02:35:13.867Z","1.0.1":"2021-08-12T05:56:50.262Z","1.0.3":"2021-08-12T06:27:36.534Z","1.0.4":"2021-08-13T08:37:48.724Z","1.0.5":"2022-03-09T13:20:41.764Z","1.0.6":"2022-03-09T13:26:11.310Z","1.0.7":"2022-03-09T13:30:39.860Z"},"maintainers":[{"name":"kryst4l","email":"690039872@qq.com"}],"keywords":[],"license":"ISC","readme":"# k-datastructures\n把用JS描述的数据结构封装，发布到npm，通过npm引入此包，可以在项目中使用封装好的数据结构\n\n# 使用\n\n## 下载依赖\n```\nnpm install k-datastructures -D\n```\n\n## 在代码中使用\n\n```\nimport datastructures from \"k-datastructures\";\n```\n\n# 支持的数据结构\n\n### 队列\n\n队列是一种列表，不同的是列表只能在队尾插入元素，在队首删除元素。\n\n队列用于存储按顺序排列的数据，先进先出。\n\n本文实现的队列以及队列方法：\n```\n  /**\n   * 队列\n   * @property {number} length 队列的长度\n   * @function enqueue 向队尾添加一个元素\n   * @function dequeue 删除队首的元素\n   * @function front 读取队首的元素\n   * @function back 读取队尾的元素\n   * @function clear 清空整个队列\n   * @function toString 读取整个队列的元素\n   * @function empty 判断队列是否为空\n   */\n  function Queue() {\n    this.dataStore = [];\n    this.length = 0;\n  }\n```\n\n### 二叉树\n\n树是计算机科学中经常用到的一种数据结构。树是一种非线性的数据结构，以分层的方式 存储数据。\n\n二叉树是一种特殊的树，它的子节点个数不超过两个。\n\n二叉查找树是一种 特殊的二叉树，相对较小的值保存在左节点中，较大的值保存在右节点中。\n\n本文实现的二叉树以及二叉树方法：\n\n```\n/**\n * @name 二叉查找树节点\n * @param {any} data 每个节点存储的数据\n * @param {node} left 左边的子节点\n * @param {node} right 右边的子节点\n */\nfunction Node(data, left, right) {\n  this.data = data;\n  this.left = left;\n  this.right = right;\n}\n/**\n * @name show\n * 显示集合中的所有元素\n */\nNode.prototype.show = function () {\n  return this.data;\n};\n\n/**\n * @name BST(二叉查找树)\n * @function insert 往二叉树中插入节点\n * @function inOrder 中序遍历二叉查找树\n * @function preOrder 先序遍历二叉查找树\n * @function postOrder 后序遍历二叉查找树\n * @function getMin 获取二叉查找树最小值\n * @function getMax 获取二叉查找树最大值\n * @function find 查找给定值\n * @function removeNode 删除节点\n * @function remove 删除节点对外接口\n */\nfunction BST() {\n  this.root = null;\n}\n```\n\n### 集合\n\nES6中新增了此类型的数据结构。\n\n集合（set）是一种包含不同元素的数据结构。集合中的元素称为成员。\n\n集合的两个最重 要特性是：首先，集合中的成员是无序的；其次，集合中不允许相同成员存在。\n\n本文实现的集合以及集合方法：\n\n```\n/**\n * @name SetMine\n * @function add 往集合中添加元素\n * @function remove 删除集合中的元素\n * @function show 显示集合中的所有元素\n * @function size 获取集合的大小\n * @function contains 判断集合中是否存在某个元素\n * @function union 执行并集操作，将两个集合合并成一个\n * @function intersect 求两个集合的交集\n * @function subset 判断一个集合是否是另一个集合的子集\n * @function difference 该方法返回一个新集合，该集合包含的是那些属于第一个集合但不属于第二个集合的成员。\n */\nfunction SetMine() {\n  this.dataStore = [];\n}\n```\n\n### 链表以及双向链表\n\n本文实现的链表以及链表方法：\n\n```\n  /**\n   * @链表\n   * 利用对象实现一个链表\n   */\n\n  /**\n   * @name Node\n   * @param element\n   * 链表的节点\n   */\n  function Node(element) {\n    this.element = element;\n    this.next = null;\n  }\n  /**\n   * @name LList\n   * @function find 查找链表中的一个节点\n   * @function findPrevious 查找链表中的上一个节点\n   * @function insert 向链表中插入一个节点\n   * @function remove 删除链表中的一个节点\n   * @function display 显示链表中的元素\n   * 链表\n   */\n  function LList() {\n    this.head = new Node(\"head\");\n  }\n```\n\n本文实现的双向链表：\n\n```\n  /**\n   * @双向链表\n   */\n  function Node(element) {\n    this.element = element;\n    this.next = null;\n    this.pervious = null;\n  }\n  /**\n   * @name LList\n   * @function find 查找链表中的一个节点\n   * @function insert 向链表中插入一个节点\n   * @function remove 删除链表中的一个节点\n   * @function display 显示链表中的元素\n   * @function findLast 查找链表中的最后一个节点\n   * @function dispReverse 反序显示双向链表中的元素\n   * 双向链表\n   */\n  function LList() {\n    this.head = new Node(\"head\");\n  }\n```\n\n### 列表\n\n列表是一组有序的数据\n\n@JS中列表和数组的区别 个人理解：其他语言中，数组在申明时是需要指定数组的可存储的值的类型以及长度，\n\n列表则不需要指定数组类型以及长度，当列表长度不够时，会生成一个新的二倍于之前的长度的数组，拷贝值进入这个数组，并舍弃旧数组\n\nJS中的列表就相当于于数组(相对于其他语言来说)\n\n本文实现的列表以及列表方法：\n\n```\n/**\n * 列表\n * @property {number} listSize 列表的元素个数 ---------done\n * @property {number} pos 列表的当前位置 --------------done\n * @function length 返回列表中的元素的个数 -------------done\n * @function clear 清空列表中的所有元素 ----------------done\n * @function toString 返回列表的字符串形式 -------------done\n * @function getElement 返回当前位置的元素 -------------done\n * @function insert 在现有元素后插入新元素--------------done\n * @function append 在列表的末尾添加新元素 -------------done\n * @function remove 从列表删除元素 --------------------done\n * @function front 将列表的当前位置移动到第一个元素 -----done\n * @function end 将列表的当前位置移动到最后一个元素 -----done\n * @function prev 将当前位置后移一位 -------------------done\n * @function next 将当前位置前移一位 -------------------done\n * @function hasNext 判断后一位 -----------------------done\n * @function hasPrev 判断前一位 -----------------------done\n * @function currPos 返回列表的当前位置 ----------------done\n * @function moveTo 将当前位置移动到指定位置 ------------done\n */\nfunction List() {\n  this.dataStore = []; // 列表内部保存元素使用一个数组\n  this.listSize = 0;\n  this.pos = 0;\n}\n```\n\n### 散列\n\n散列是一种常用的数据存储技术，散列后的数据可以快速地插入或取用。\n\n散列使用的数据 结构叫做散列表。\n\n散列基于数组实现，通过哈希算法（散列函数）得到一个数组下标，在对应数组下标位置插入元素。\n\n哈希算法基本无法满足一个值对应唯一一个散列值，所以可以通过在链表数组存储元素(开链法:此例用的是二维数组)。\n\n使用散列表存储数据时，通过一个散列函数将键映射为一个数 字，这个数字的范围是 0 到散列表的长度。\n\n本文实现的散列以及散列方法：\n\n```\n/**\n * @name HashTable\n * @function simpleHash 哈希算法，把值通过哈希算法换算成数组下标\n * @function showDistro 显示散列表中的所有元素\n * @function put 往散列表中插入元素\n * @function get 从散列中获取元素\n */\nfunction HashTable() {\n  this.table = new Array(137);\n}\n```\n\n### 图\n\n图由边的集合及顶点的集合组成。\n\n地图，就是一种图，上面的每个城镇可以看作一个顶点，连接城镇的道路便是边。\n\n本文实现的图以及图方法：\n\n```\n/**\n * @name Vertex\n * @param {any} label 顶点值\n * @param {boolean} wasVisited 是否被访问过\n * 顶点类：用于保存顶点和边\n */\nfunction Vertex(label) {\n  this.label = label;\n}\n```\n\n### 栈\n\n栈是一种类似于列表的数据结构，栈是一种特殊的列表，栈内的元素只能通过列表的一端访问，这一端称为栈顶（类比于一摞盘子）\n\n原以为栈的弹出是直接删除栈顶的元素，原来是将数组的指针向下挪一位，并不是直接删除栈顶元素\n\n本文实现的栈以及栈方法：\n\n```\n/**\n * @name 栈\n * @property {number} top 栈顶的位置\n * @function push 往栈顶添加元素\n * @function pop 弹出栈顶的元素\n * @function peek 返回当前栈顶的元素\n * @function clear 清除栈中的所有元素\n */\nfunction Stack() {\n  this.dataStore = []; // 用数组存储一个栈数据\n  this.top = 0;\n}\n```\n\n### 字典\n\n字典是一种以键 - 值对形式存储数据的数据结构，就像电话号码簿里的名字和电话号码一样。\n\nDictionary 类的基础是 Array 类，而不是 Object 类。\n\n本文实现的字典以及字典方法：\n\n```\n/**\n * @name Dictionary\n * @function add 向字典中添加元素\n * @function find 查找字典中的元素\n * @function remove 删除字典中的元素\n * @function showAll 显示字典中的所有元素\n * @function count 显示字典中元素的个数\n * @function clear 删除字典中的所有元素\n * 字典\n */\nfunction Dictionary() {\n  this.dataStore = new Array();\n}\n```\n","readmeFilename":"README.md","description":"把用JS描述的数据结构封装，发布到npm，通过npm引入此包，可以在项目中使用封装好的数据结构","author":{"name":"zhouxiaolei"}}