function divideByBase(number, base) {
var remStack = [];
var digits = '0123456789ABCDEF';
var result = '';
while (number > 0) {
rem = number % base;
remStack.unshift(rem);
number = number / base >> 0;
}
for (var i = 0; i < remStack.length; i++) {
result += digits[remStack[i]];
}
return result;
}
function Node(number) {
this.next = null;
this.element = number;
}
function LinkedList() {
this.head = null;
this.length = 0;
}
LinkedList.prototype = {
constructor: LinkedList,
getHead: function() {
return this.head;
},
append: function(number) {
var node = new Node(number);
var currentNode;
if (this.head === null) {
this.head = node;
} else {
currentNode = this.head;
while (currentNode.next) {
currentNode = currentNode.next;
}
currentNode.next = node;
}
this.length++;
},
insert: function(pos, number) {
if (pos >= 0 && pos <= this.length) {
var node = new Node(number);
var currentNode = this.head;
var previousNode;
var index = 0;
if (pos === 0) {
node.next = this.head;
this.head = node;
} else {
while (index++ < pos) {
previousNode = currentNode;
currentNode = currentNode.next;
}
node.next = currentNode;
previousNode.next = node;
}
this.length++;
return true;
} else {
return false;
}
},
removeAt(pos) {
if (pos > -1 && pos < this.length) {
var currentNode = this.head;
var previousNode;
var index = 0;
if (pos === 0) {
this.head = currentNode.next;
} else {
while (index++ < pos) {
previousNode = currentNode;
currentNode = currentNode.next;
}
previousNode.next = currentNode.next;
}
this.length--;
} else {
return false;
}
}
};
var a = new LinkedList();
console