4.4.2 • Published 2 months ago

js-sdsl v4.4.2

Weekly downloads
-
License
MIT
Repository
github
Last release
2 months ago

✨ Included data structures

  • Stack - first in last out stack.
  • Queue - first in first out queue.
  • PriorityQueue - heap-implemented priority queue.
  • Vector - protected array, cannot to operate properties like length directly.
  • LinkList - linked list of non-contiguous memory addresses.
  • Deque - double-ended-queue, O(1) time complexity to unshift or getting elements by index.
  • OrderedSet - sorted set which implemented by red black tree.
  • OrderedMap - sorted map which implemented by red black tree.
  • HashSet - refer to the polyfill of ES6 Set.
  • HashMap - refer to the polyfill of ES6 Map.

⚔️ Benchmark

We are benchmarking against other popular data structure libraries. In some ways we're better than the best library. See benchmark.

🖥 Supported platforms

IE / EdgeFirefoxChromeSafariOperaNodeJs
Edge 125549103610

📦 Download

Download directly by cdn:

Or install js-sdsl using npm:

npm install js-sdsl

Or you can download the isolation packages containing only the containers you want:

packagenpmsizedocs
@js-sdsl/stackNPM PackageGZIP Sizelink
@js-sdsl/queueNPM PackageGZIP Sizelink
@js-sdsl/priority-queueNPM PackageGZIP Sizelink
@js-sdsl/vectorNPM PackageGZIP Sizelink
@js-sdsl/link-listNPM PackageGZIP Sizelink
@js-sdsl/dequeNPM PackageGZIP Sizelink
@js-sdsl/ordered-setNPM PackageGZIP Sizelink
@js-sdsl/ordered-mapNPM PackageGZIP Sizelink
@js-sdsl/hash-setNPM PackageGZIP Sizelink
@js-sdsl/hash-mapNPM PackageGZIP Sizelink

🪒 Usage

You can visit our official website to get more information.

To help you have a better use, we also provide this API document.

For previous versions of the documentation, please visit:

https://js-sdsl.org/js-sdsl/previous/v${version}/index.html

E.g.

https://js-sdsl.org/js-sdsl/previous/v4.1.5/index.html

For browser

<script src="https://unpkg.com/js-sdsl/dist/umd/js-sdsl.min.js"></script>
<script>
    const {
      Vector,
      Stack,
      Queue,
      LinkList,
      Deque,
      PriorityQueue,
      OrderedSet,
      OrderedMap,
      HashSet,
      HashMap
    } = sdsl;
    const myOrderedMap = new OrderedMap();
    myOrderedMap.setElement(1, 2);
    console.log(myOrderedMap.getElementByKey(1)); // 2
</script>

For npm

// esModule
import { OrderedMap } from 'js-sdsl';
// commonJs
const { OrderedMap } = require('js-sdsl');
const myOrderedMap = new OrderedMap();
myOrderedMap.setElement(1, 2);
console.log(myOrderedMap.getElementByKey(1)); // 2

🛠 Test

Unit test

We use karma and mocha frame to do unit tests and synchronize to coveralls. You can run yarn test:unit command to reproduce it.

For performance

We tested most of the functions for efficiency. You can go to gh-pages/performance.md to see our running results or reproduce it with yarn test:performance command.

You can also visit here to get the result.

⌨️ Development

Use Gitpod, a free online dev environment for GitHub.

Open in Gippod

Or clone locally:

$ git clone https://github.com/js-sdsl/js-sdsl.git
$ cd js-sdsl
$ npm install
$ npm run dev   # development mode

Then you can see the output in dist/cjs folder.

🤝 Contributing

Feel free to dive in! Open an issue or submit PRs. It may be helpful to read the Contributor Guide.

Contributors

Thanks goes to these wonderful people:

This project follows the all-contributors specification. Contributions of any kind welcome!

❤️ Sponsors and Backers

The special thanks to these sponsors or backers because they provided support at a very early stage:

Thanks also give to these sponsors or backers:

sponsors

backers

🪪 License

MIT © ZLY201

quoc-testsklif-ui-kitsklif-api@everything-registry/sub-chunk-1977sklif-uijrennsoh88-react-native-scroll-indicatorjson-xls-converterjulien-easy-modallocaldev-tuimavectramdlinks-belen@alexaegis/advent-of-code-lib@bowogfc/bbpolymer@aysea/react-native-ui-library@axeptio/eslint-config-axeptio@azalpacir/react-native-dhp-printer@codesoup/floating-menu@codesoup/scroll-to-top@chrischuhao/joi-validate@cybermega/flutter-resource-manager-rs@damruravihara/react-native-testing-package@ethereumjs/statemanager@ethereumjs/client@gamers-geek/discord-temp-channels@faizanhaider/iconsax@guilhermessantos/eslint-plugin-brasfoot@hdkhoa1302/app-themeszzzxxxyyy321123khaled-salem-custom-componentsnumber-allocatornative-modal-damage-vehiclemy-lib-sample-testapp1microend-componentreact-flow-highly-customizable-edgesqaapio-reecord-mp3react-native-dhp-printerreact-native-innity-2react-native-innity-remasterreact-native-input-libraryreact-native-ghn-ekycreact-native-get-countriesreact-microphone-recorder1react-native-auth-service-clientreact-native-additionreact-native-animate-textreact-native-android-video-player-viewreact-native-bluetooth-device-detectreact-native-chenaarreact-native-check-componentreat-native-multiplierkprreact-native-radio-bic-group-libreact-native-return-usb-datareact-native-reanimated-sortable-listreact-native-rn-icons-libraryreact-native-savczuk-feature-libraryreact-native-screen-idle-timerreact-native-nghia-shareringreact-native-nice-learningreact-native-multiplier-componentreact-native-multiplier-demoreact-native-multiplier2react-native-multiply-componentreact-native-app-integrity-checksumreact-native-azure-communication-servicesreact-native-awesome-module-tworeact-native-arps-authorize-netreact-native-wtfreact-native-library-testing-422522react-native-line-login-androidreact-native-klarify-iosreact-native-klarify-uireact-native-klcreact-native-simple-timelinereact-native-sp-test-commonreact-native-shared-gesturereact-native-test-viewreact-native-ticker-tapereact-native-ui-components-libraryreact-native-uvc-camera-androidreact-native-version-apprn-counter-demorouter-loggershadow-event-busshoppyfit-tooltest-haptik-libsvelte-searchable-selectsweetalert2-denazificationsynchronizer-v2the-world-enginestanikionestinky-2dtldrawligninzubtesttodayywh-packageywh-package1smart_one_connectweb-elements-iconswalm-alpha-1wifi_configuration_packagevision-camera-base64-resized
5.0.0-beta.0

2 months ago

4.4.1

11 months ago

4.4.2

10 months ago

4.4.0

1 year ago

4.3.0

1 year ago

4.2.0-beta.0

2 years ago

4.2.0-beta.1

1 year ago

4.2.0

1 year ago

4.1.2-beta.0

2 years ago

4.1.5-beta.0

2 years ago

4.1.5-beta.1

2 years ago

4.1.4-beta.0

2 years ago

4.1.4

2 years ago

4.1.3

2 years ago

4.1.5

2 years ago

4.1.0

2 years ago

4.1.2

2 years ago

4.1.1

2 years ago

4.0.0-beta.0

2 years ago

4.0.1

2 years ago

4.0.0

2 years ago

4.0.3

2 years ago

4.0.2

2 years ago

3.0.0-beta.0

2 years ago

2.1.4

2 years ago

2.1.3

2 years ago

2.1.2

2 years ago

2.1.1

2 years ago

2.1.0

2 years ago

2.0.3

2 years ago

2.0.2

2 years ago

2.0.1

2 years ago

2.0.0

2 years ago

1.4.2

2 years ago

1.4.1

2 years ago

1.4.0

2 years ago

1.3.0

2 years ago

1.2.2

2 years ago

1.2.1

2 years ago

1.2.0

2 years ago

1.1.0

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago