sardtok / datastructures Goto Github PK
View Code? Open in Web Editor NEWA project for implementing data structures in different programming languages as language practice.
License: GNU General Public License v3.0
A project for implementing data structures in different programming languages as language practice.
License: GNU General Public License v3.0
Add a linked list implementation the Scala programming language.
The list should be generic.
The list should be immutable.
The list should implement typical functions like map, for each, filter, fold, etc.
Tests similar to the Java version should be added.
The linked list implementations should allow removing the first element or last element, and insertion at the beginning of the list as well as the end of the list.
For Java, the list should implement the double ended queue interface: Deque.
Unit tests are needed.
There are obvious bugs in the iterator with regards to indices.
Tests that need adding:
All methods should be tested, but these should make for a decent amount of early tests. More tests can be added when a method is to be implemented.
One way to perform the tests, is to compare it to the reference implementation, java.util.LinkedList, as it should perform the same actions.
Add a linked list implementation the C programming language.
The list should be general, using void pointers.
The list should support at least some more advanced functions than simply, add and remove. Possible additions: filter, remove all, retain all.
Tests similar to the Java version should be added.
LinkedList.remove(int) throws a NoSuchElementException instead of an IndexOutOfBoundsException when the index is equal to size.
Need to implement testing for correct exceptions.
Need to explicitly check indices in remove, instead of relying on the iterator to throw the right exception.
Add a linked list implementation JavaScript/ECMAScript.
Consider writing an immutable list type.
Should be JSON serializable to a standard JSON list.
Should work similar to a standard JS list.
Should support Harmony iterators (ECMAScript 6 iterators that allow for-of loops).
Tests similar to the Java version should be added.
The only part of the java.util.List interface not implemented by the current implementation is sub-lists.
Although sub-lists may be useful for simplifying or speeding up certain operations (deleting a large portion of the list), there is some added overhead due to the effects on the super-list.
The list iterator in the LinkedList uses zero as the lowest index if created with an index in the first half of the list. However, if the constructor is called with an index in the last half of the list, one is used as the lowest index (i.e. the size is inclusive, instead of exclusive).
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.