https://github.com/rolling-scopes-school/doubly-linked-list
Doubly linked list task
https://github.com/rolling-scopes-school/doubly-linked-list
Last synced: over 1 year ago
JSON representation
Doubly linked list task
- Host: GitHub
- URL: https://github.com/rolling-scopes-school/doubly-linked-list
- Owner: rolling-scopes-school
- Created: 2017-01-24T17:48:46.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2023-01-12T12:00:43.000Z (over 3 years ago)
- Last Synced: 2024-04-14T15:37:07.111Z (over 2 years ago)
- Language: JavaScript
- Size: 428 KB
- Stars: 24
- Watchers: 7
- Forks: 857
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
### Doubly linked list
---
⚠️ DO NOT SUBMIT PRS TO THIS REPO ⚠️
## Task
Your task is to implement [doubly linked list](https://en.wikipedia.org/wiki/Doubly_linked_list) data structure.
### Methods
##### `append(data)`
Should add node to the end of the list
##### `head()`
Should return data from the head of the list
##### `tail()`
Should return data from the end of the list
##### `at(index)`
Should return data of node by specified index
##### `insertAt(index)`
Should insert data to specified index
##### `isEmpty()`
Should return true if list is empty, false otherwise
##### `clear()`
Should clear the list
##### `deleteAt(index)`
Should delete element by specified index
##### `reverse()`
Should reverse the list
##### `indexOf(value)`
Should return index of specified value or -1 if list doesn't contain such
### Prerequisites
1. Install [Node.js](https://nodejs.org/en/download/)
2. Fork this repository: https://github.com/rolling-scopes-school/doubly-linked-list/
3. Clone your newly created repo: https://github.com/<%your_github_username%>/doubly-linked-list/
4. Go to folder `doubly-linked-list`
5. To install all dependencies use [`npm install`](https://docs.npmjs.com/cli/install)
6. Run `npm test` in command line or you can run tests in browser with `npm start` and open http://localhost:8080
7. You will see the number of passing and failing tests. 100% of passing tests is equal to 100p in score
---
### Submit to [rs app](https://app.rs.school)
1. Open [rs app](https://app.rs.school) and login
2. Go to [submit task page](https://app.rs.school/course/submit-task?course=rs-2019-q3)
3. Select your task (doubly-linked-list)
4. Press the submit button and enjoy
---
### Notes
1. We recommend you to use nodejs of version 10 or lower. If you using any of features that does not supported by node v10, score won't be submitted.
2. Please be sure that each of your test in limit of 30sec.
---
© [Shastel](https://github.com/Shastel)