Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Assignment In Javascript we are going to create a Doubly Linked List . (A Singly Linked List is another example of a type of List

Assignment

In Javascript we are going to create a Doubly Linked List. (A Singly Linked List is another example of a type of List they do the same thing). If you need a little primer on creating objects and classes in Javascript see http://www.w3schools.com/js/js_object_definition.asp if you know your object oriented code this will be relatively straightforward. Your List will be made up of Nodes. Each node will have the following properties;

Node Properties

id A simple id for the node itself content A value (String) next A pointer to the next node in the List (null for the last node). last A pointer to the previous node in the List

List Properties

head Pointer to the first node in the list length Number of nodes in the list

Here is a simple Javascript code that represents the concept . It should be a good demonstration for you to use in writing your code. https://jsfiddle.net/reaglin/q46obht6/ This code should help you get started, but you should build your List and Node objects from scratch.

Next you will populate your list with 5 nodes with content A, B, C, D, E. You will also create a print function for the list that will print the nodes in order. You will need to create some functions to support this functionality.

You will now need to write an interface to allow the user to add nodes to the end of the list. There should be a single text box to enter the Node content, and a button Add to List. When the user adds a node to the list, then you should add the node with the content to the end of the list and print the new list.

Here's my HTML:



Name of Node being added:


Need help finishing this Javascript:

var list = null;

function createList() { var value = document.getElementById("LinkName").value; list = new List(value); document.getElementById("demo").innerHTML = list.print(); }

function addNode() { var value = document.getElementById("LinkName").value; list.addNode(value); document.getElementById("demo").innerHTML = list.print(); }

// Define the link object function Node(_value, _last) { // This is a possible implementation of a Doubly Linked List this.value = _value; // The value stored this.last = _last; // A pointer to the previous link this.next = null; // a pointer to the next link return this; // returns the created node }

Node.prototype.asString = function() { return "Node Value:" + this.value + "
"; }

// Define the List object function List(_value) { // We will define the list with the first link defined this.length = 1; this.head = new Node(_value, null); // Pointer TO the head is null this.last = this.head; // When created - head and last are the same. } //Function to add node to list List.prototype.addNode = function(_value) { var Node = new Node(value); if (this._length) { this.tail.next = Node; Node.previous = this.tail; this.tail = Node; } else { this.head = Node; this.tail = Node; } this._length++; }

// This is a very simple print routine - it starts at the head // and moves through the list List.prototype.print = function() { var s = ""; var n = this.head; while (n != null){ s += n.asString(); n = n.next; }

return s; }

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Database Driven Web Sites

Authors: Joline Morrison, Mike Morrison

2nd Edition

? 061906448X, 978-0619064488

More Books

Students also viewed these Databases questions