JSFiddle - React, Tailwind, and code Playground
by Ryan Brown
HTML
<body>
<form id="formski"><br>
<label for="Number">New Value For Chain</label> <input id="newValue" type="text" /><br><br>
<input type="button" value="Enter" id="onClick">
</form>
<br>
<br>
<div id="display"></div>
</body>
<p id="demo"></p>
<p id="demo2"></p>
<p id="demo3"></p>
CSS
#formski {
width: 15em;
height: 5em;
color: darkblue;
}
JavaScript
document.getElementById("onClick").onclick = function() {insert();}
function insert(){
var newValue = document.getElementById('newValue').value;
chain.addLink(newValue);
chain.bubbleSort(chain.linkStorage);
//chain.quickSort(chain.linkStorage);
chain.printBubbleSort();
//chain.printQuickSort();
chain.arr();
document.getElementById("demo").innerHTML = "<br> Last Link: " + chain.lastLink().asString();
}
Chain.prototype.arr = function (){
/*
for (i=o; i< this.linkStorage.length; i++){
var sortedArray = [];
sortedArray[i] = Chain.linkStorage[i].value
var Val = sortedArray[i];
chain2.addLink(Val);
}
*/
}
function Link(_id, _value, _next) {
this.id = _id;
this.value = _value;
this.next = _next;
}
Link.prototype.asString = function () {
return "Link: " + this.id +
" Value: " + this.value +
" Points To: " + this.next + "<br/>";
};
function Chain(_firstValue) {
this.head = new Link(0, _firstValue, null);
this.linkStorage = [];
this.linkStorage.push(this.head);
}
Object.defineProperty(Chain.prototype, 'length', {
get: function () {
return this.linkStorage.length;
}
});
Chain.prototype.lastLink = function () {
for (link in this.linkStorage) {
if (this.linkStorage[link].next == link_id) {
return this.linkStorage[link];
}
}
return -1
}
Chain.prototype.addLink = function (_linkValue) {
link_id = this.length;
prev_link = this.linkStorage[link_id - 1];
this.linkStorage.push(new Link(link_id, _linkValue, link_id + 1));
prev_link.next = link_id;
}
Chain.prototype.bubbleSort = function (a, par){
var swapped;
do {
swapped = false;
for (var i=0; i < a.length-1; i++) {
if (a[i].value > a[i+1].value) {
var temp = a[i];
a[i] = a[i+1];
a[i+1] = temp;
...