mirror of
https://github.com/TheAlgorithms/JavaScript.git
synced 2025-07-06 09:28:26 +08:00
Merge pull request #46 from christianbender/changed_stack
correspond to the target code of typescript
This commit is contained in:
@ -8,22 +8,24 @@
|
|||||||
// Functions: push, pop, peek, view, length
|
// Functions: push, pop, peek, view, length
|
||||||
|
|
||||||
//Creates a stack constructor
|
//Creates a stack constructor
|
||||||
var Stack = function () {
|
var Stack = (function () {
|
||||||
//The top of the Stack
|
|
||||||
this.top=0;
|
|
||||||
//The array representation of the stack
|
|
||||||
this.stack = new Array();
|
|
||||||
}
|
|
||||||
|
|
||||||
//Adds a value onto the end of the stack
|
function Stack() {
|
||||||
Stack.prototype.push=function(value) {
|
//The top of the Stack
|
||||||
this.stack[this.top]=value;
|
this.top = 0;
|
||||||
this.top++;
|
//The array representation of the stack
|
||||||
|
this.stack = new Array();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Adds a value onto the end of the stack
|
||||||
|
Stack.prototype.push = function (value) {
|
||||||
|
this.stack[this.top] = value;
|
||||||
|
this.top++;
|
||||||
|
};
|
||||||
|
|
||||||
//Removes and returns the value at the end of the stack
|
//Removes and returns the value at the end of the stack
|
||||||
Stack.prototype.pop = function(){
|
Stack.prototype.pop = function () {
|
||||||
if(this.top === 0){
|
if (this.top === 0) {
|
||||||
return "Stack is Empty";
|
return "Stack is Empty";
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -31,23 +33,27 @@ var Stack = function () {
|
|||||||
var result = this.stack[this.top];
|
var result = this.stack[this.top];
|
||||||
delete this.stack[this.top];
|
delete this.stack[this.top];
|
||||||
return result;
|
return result;
|
||||||
}
|
};
|
||||||
|
|
||||||
//Returns the size of the stack
|
//Returns the size of the stack
|
||||||
Stack.prototype.size = function(){
|
Stack.prototype.size = function () {
|
||||||
return this.top;
|
return this.top;
|
||||||
}
|
};
|
||||||
|
|
||||||
//Returns the value at the end of the stack
|
//Returns the value at the end of the stack
|
||||||
Stack.prototype.peek = function(){
|
Stack.prototype.peek = function () {
|
||||||
return this.stack[this.top-1];
|
return this.stack[this.top - 1];
|
||||||
}
|
}
|
||||||
|
|
||||||
//To see all the elements in the stack
|
//To see all the elements in the stack
|
||||||
Stack.prototype.view= function(){
|
Stack.prototype.view = function () {
|
||||||
for(var i=0;i<this.top;i++)
|
for (var i = 0; i < this.top; i++)
|
||||||
console.log(this.stack[i]);
|
console.log(this.stack[i]);
|
||||||
}
|
};
|
||||||
|
|
||||||
|
return Stack;
|
||||||
|
|
||||||
|
}());
|
||||||
|
|
||||||
//Implementation
|
//Implementation
|
||||||
var myStack = new Stack();
|
var myStack = new Stack();
|
||||||
|
Reference in New Issue
Block a user