// Adding elements
public void add(String element) {
// For first element Head is null. So, create a new node and mark it as head.
// and increase numElements
if(head == null){
head = new StringNode(element, null);
numElements++;
} else {
// if not, find its place first.
// then create a node and mark position link to new node
// mark new node as link to positional node
StringNode node = head;
while(node.getLink() != null){
if(node.getData().compareTo(element) < 0){
break;
}
}
StringNode newNode = new StringNode(element, null);
newNode.setLink(node.getLink());
node.setLink(newNode);
numElements++;
}
}
// Removing elements
public boolean remove(String target)
{
StringNode targetNode = head;
boolean found = false;
while (targetNode!= null && !found)
{
if(targetNode.getData().equalsIgnoreCase(target))
found = true;
else
targetNode = targetNode.getLink();
}
if(found)
{
// copy the head to targetNode
// and then advance head to the next node.
targetNode.setData(targetNode.getLink().getData());
targetNode.setLink(targetNode.getLink());
numElements --;
}
return found;
}
Solution
// Adding elements
public void add(String element) {
// For first element Head is null. So, create a new node and mark it as head.
// and increase numElements
if(head == null){
head = new StringNode(element, null);
numElements++;
} else {
// if not, find its place first.
// then create a node and mark position link to new node
// mark new node as link to positional node
StringNode node = head;
while(node.getLink() != null){
if(node.getData().compareTo(element) < 0){
break;
}
}
StringNode newNode = new StringNode(element, null);
newNode.setLink(node.getLink());
node.setLink(newNode);
numElements++;
}
}
// Removing elements
public boolean remove(String target)
{
StringNode targetNode = head;
boolean found = false;
while (targetNode!= null && !found)
{
if(targetNode.getData().equalsIgnoreCase(target))
found = true;
else
targetNode = targetNode.getLink();
}
if(found)
{
// copy the head to targetNode
// and then advance head to the next node.
targetNode.setData(targetNode.getLink().getData());
targetNode.setLink(targetNode.getLink());
numElements --;
}
return found;
}

Adding elements public void add(String element) { For fi.pdf

  • 1.
    // Adding elements publicvoid add(String element) { // For first element Head is null. So, create a new node and mark it as head. // and increase numElements if(head == null){ head = new StringNode(element, null); numElements++; } else { // if not, find its place first. // then create a node and mark position link to new node // mark new node as link to positional node StringNode node = head; while(node.getLink() != null){ if(node.getData().compareTo(element) < 0){ break; } } StringNode newNode = new StringNode(element, null); newNode.setLink(node.getLink()); node.setLink(newNode); numElements++; } } // Removing elements public boolean remove(String target) { StringNode targetNode = head; boolean found = false; while (targetNode!= null && !found) { if(targetNode.getData().equalsIgnoreCase(target)) found = true;
  • 2.
    else targetNode = targetNode.getLink(); } if(found) { //copy the head to targetNode // and then advance head to the next node. targetNode.setData(targetNode.getLink().getData()); targetNode.setLink(targetNode.getLink()); numElements --; } return found; } Solution // Adding elements public void add(String element) { // For first element Head is null. So, create a new node and mark it as head. // and increase numElements if(head == null){ head = new StringNode(element, null); numElements++; } else { // if not, find its place first. // then create a node and mark position link to new node // mark new node as link to positional node StringNode node = head; while(node.getLink() != null){ if(node.getData().compareTo(element) < 0){ break; } } StringNode newNode = new StringNode(element, null); newNode.setLink(node.getLink());
  • 3.
    node.setLink(newNode); numElements++; } } // Removing elements publicboolean remove(String target) { StringNode targetNode = head; boolean found = false; while (targetNode!= null && !found) { if(targetNode.getData().equalsIgnoreCase(target)) found = true; else targetNode = targetNode.getLink(); } if(found) { // copy the head to targetNode // and then advance head to the next node. targetNode.setData(targetNode.getLink().getData()); targetNode.setLink(targetNode.getLink()); numElements --; } return found; }