Javascript/Math: editing file name

This commit is contained in:
itsvinayak
2020-05-06 18:30:19 +05:30
parent ba75297f72
commit 75f6888019
24 changed files with 0 additions and 0 deletions

View File

@ -0,0 +1,80 @@
/* Queue
* A Queue is a data structure that allows you to add an element to the end of
* a list and remove the item at the front. A queue follows a "First In First Out"
* system, where the first item to enter the queue is the first to be removed. This
* implementation uses an array to store the queue.
*/
// Functions: enqueue, dequeue, peek, view, length
var Queue = (function () {
// constructor
function Queue () {
// This is the array representation of the queue
this.queue = []
}
// methods
// Add a value to the end of the queue
Queue.prototype.enqueue = function (item) {
this.queue[this.queue.length] = item
}
// Removes the value at the front of the queue
Queue.prototype.dequeue = function () {
if (this.queue.length === 0) {
throw new Error('Queue is Empty')
}
var result = this.queue[0]
this.queue.splice(0, 1) // remove the item at position 0 from the array
return result
}
// Return the length of the queue
Queue.prototype.length = function () {
return this.queue.length
}
// Return the item at the front of the queue
Queue.prototype.peek = function () {
return this.queue[0]
}
// List all the items in the queue
Queue.prototype.view = function () {
console.log(this.queue)
}
return Queue
}())
// Implementation
var myQueue = new Queue()
myQueue.enqueue(1)
myQueue.enqueue(5)
myQueue.enqueue(76)
myQueue.enqueue(69)
myQueue.enqueue(32)
myQueue.enqueue(54)
myQueue.view()
console.log('Length: ' + myQueue.length())
console.log('Front item: ' + myQueue.peek())
console.log('Removed ' + myQueue.dequeue() + ' from front.')
console.log('New front item: ' + myQueue.peek())
console.log('Removed ' + myQueue.dequeue() + ' from front.')
console.log('New front item: ' + myQueue.peek())
myQueue.enqueue(55)
console.log('Inserted 55')
console.log('New front item: ' + myQueue.peek())
for (var i = 0; i < 5; i++) {
myQueue.dequeue()
myQueue.view()
}
// console.log(myQueue.dequeue()); // throws exception!

View File

@ -0,0 +1,64 @@
// implementation of Queue using 2 stacks
// contribution made by hamza chabchoub for a university project
class Queue {
constructor () {
this.inputStack = []
this.outputStack = []
}
// Push item into the inputstack
enqueue (item) {
this.inputStack.push(item)
}
dequeue (item) {
// push all items to outputstack
this.outputStack = []
if (this.inputStack.length > 0) {
while (this.inputStack.length > 0) {
this.outputStack.push(this.inputStack.pop())
}
}
// display the top element of the outputstack
if (this.outputStack.length > 0) {
console.log(this.outputStack.pop())
// repush all the items to the inputstack
this.inputStack = []
while (this.outputStack.length > 0) {
this.inputStack.push(this.outputStack.pop())
}
}
}
// display elements of the inputstack
listIn () {
let i = 0
while (i < this.inputStack.length) {
console.log(this.inputStack[i])
i++
}
}
// display element of the outputstack
listOut () {
let i = 0
while (i < this.outputStack.length) {
console.log(this.outputStack[i])
i++
}
}
}
// testing
const queue = new Queue()
queue.enqueue(1)
queue.enqueue(2)
queue.enqueue(8)
queue.enqueue(9)
console.log(queue.dequeue())
// ans = 1
console.log(queue.dequeue())
// ans = 2