How To Traverse Through Linked List And Remove Specific Element
Nov 12, 2014
This is my first time using linked lists and for homework I have to make a program that allows the user to make a linked list of Strings (names) and then choose who to eliminate. For example,
Five people in a linked list of Strings: Joe, Mary, Sue, Tom, Hannah.
I would like the program to ask the user to choose a number between 1 and 5. If the user chooses number 2, Mary is the second person in the linked list so she gets eliminated.
The problem is that I'm not sure how to traverse through the linked list because they are of type String value, and I am looking for the name using the corresponding integer I mentioned above.
Here is my code:
package llchallenge;
import java.util.LinkedList;
import java.util.List;
import java.util.ListIterator;
import java.util.Scanner;
public class LLChallenge
{
List JosephusList = new LinkedList(); // order of names
I have to make a program that allows the user to make a linked list of Strings (names) and then choose who to eliminate.
For example: Five people in a linked list of Strings: I would like the program to ask the user to choose a number between 1 and 5. If the user chooses number 2, Mary is the second person in the linked list so she gets eliminated.
The problem is that I'm not sure how to traverse through the linked list because they are of type String value, and I am looking for the name using the corresponding integer I mentioned above. I think I have to use Nodes? Not very sure where to start right now.Here is my code:
I have to make a method called search that goes through the linked list and checks to see if whatever String the user entered matches a String in the linked list. With this code, every time I enter an existing String it outputs "There is no element that contains that information". How come?
public class LinkedListExample { List InfoList = new LinkedList(); public void doLinkedListExample() { // add original data to linked list InfoList.add("Computer"); // string (original 3 elements) InfoList.add("Programs"); InfoList.add("in Java");
AddItemToFront(Item p) : This method will create a new Node with the Item object as its data value and then add the newly created node to the front of the linked list.
DisplayItems(): This method will traverse the linked list from first node to last node and print data value ( i.e., id, name, type and price of the Item object) of each node.
RemoveItemAtPosition(int n): This method will remove the node at position n in the linked list. Assume that the first node of the linked list has a position number of 1 and the second node has a position number of 2 and so on.
This is my Code
AddItemToFront public void AddItemtoFront(Item p) { Node newNode = new Node(p); newNode.setLink(head); head = newNode;
[Code] ....
I don't know what am I suppose to do inside the remove method
if one address point on another address. so set and get methods will be less efficient then an array, but add or remove will be more efficient by a linked list ? a linked list also inherit from queue so if i add an elemnt via "addFirst" function . where its adding the element ? to the right most or left most ? if i have for example :
here [ ] --> [ ] --> [ ] --> [ ] -->[ ] or here
linked list its FIFO so the head will be the right most ?
Edit : its confused me a little bit but i understood now .so it will be at the left most. its actually ordered . not like the stack which is LIFO.
I have to write a test class for a Contacts class called ContactTest and store the instances of Contacts created into a LinkedList.The ContactTest class should implement the addition andremoval of contacts to the Linked List and display its contents.
So far I have this, which stores the information entered into a Linked List, the problem is I don't know how I go about doing the addition and removal part.
Contacts Class
public class Contacts implements InterfaceContacts { String fname; String lname; String phone; String email; //constructors public Contacts( ){ this("****", "****", "****", "****");
I am working on an assignment that requires me to implement 2 methods (add() and remove()) and create an inner class (OrderedListNode). I must use data items of type Comparable. The items should be sorted.
I understand what needs to be done, but I am having a difficult time actually writing the code. I added the main method to check to see if my code works, and it doesn't seem like that is even being read.It compiles without error - it only gives a warning of unchecked or unsafe operations.
Code:
package dataStructures; //This class functions as a linked list, but ensures items are stored in ascending order. public class OrderedLinkedList { //return value for unsuccessful searches private static final OrderedListNode NOT_FOUND = null;
I create and populate someLinkedList with '*' characters as soon as a gameLinkedList object is created, so my class is something like
private int size; public class gameLinkedList{ private CharNode game; public gameLinkedList(String someWord){ size=someWord.length(); for(int i=0;i<size;i++){CharNode aNode = new CharNode('p');
I'm trying to iterate through an array of integers and find the start position of the part of the array containing the most consecutive 1s.
For example given the array {1,3,1,1,1,1,5,3,2,1,1}, the method should return 2 and given {1,4,5,1,1,1,5,1} the method should return 3.
So far, I've managed to retrieve the element where the consecutive 1s begin. However, I'm unsure how to get the index of this element and this implementation doesn't work if there is more than one set of consecutive 1s.
public class GetIndex { public static int getPosition(int[] myArray) { int index = 0; int tracker = 0; int mostOnes = 0; for(int i = 0; i < myArray.length; i++) {
Suppose i have given a List<Intervals> list; I am iterating over list and inserting each element from list into BST, if time require to insert into BST is logn then what is the total time require to insert all the elements into tree ?
I have some class called sorted to sort the linked list through the nodes of the list. and other class to test this ability, i made object of the sort class called "list1" and insert the values to the linked list.
If i make other object called "list2" and want to merge those two lists by using method merge in sort class. And wrote code of
list1.merge(list2);
How can the merge method in sort class know the values of list1 that called it as this object is created in other class.
So we have an assignment regarding a linked list implementation of a given list interface.
In my list interface, the method contains(T anEntry) is defined.
In the LList implementation, contains is already implemented as part of getting the core methods in.
Now I am being tasked with the following:
Provide a second implementation of the method contains2(T anEntry) that calls a private recursive method
Private boolean contains (T anEntry, Node startNode) that returns whether the list that starts at startNode contains the entry anEntry.
I've written the private recursive method already. That's not an issue (at least not right now).
But what I don't understand is how startNode is supposed to be populated when this private contains method is called from the public contains2 method? contains2 only takes one parameter: anEntry. the private method takes two parameters: anEntry and startNode. How am i supposed to provide startNode when I am calling contains2?
I have this ListInterface class that has operations for my linked list and a LList class. The Llist and ListInterface classes are perfect. My job is to create a driver, or a demo class that showcases these operations. That being said, heres the driver so far:
import java.util.*; public abstract class DriverWilson implements ListInterface { public static void main(String[] args) {
There are 8 JCheckboxes, which are already added to panel and aligned in group layout. From which, I have selected one JCheckbox. Then the resultant GUI should contain only remaining 7 JCheckboxes and selected one should temporarily removed or hide from GUI . Is it possible? If so, how?
What I'm supposed to do is make a method to insert a set of Tiles to the list,i.e.,a detour(make sure that the inserted detouris compatible with thecurrent path so that the resultingpathdoesnot have any gaps). But I'm confused on how to go about doing it. I was thinking of maybe just adding 1 to the current Node.
import java.io.File; import java.io.FileNotFoundException; import java.util.List; import java.util.Scanner; public class Path { static Tile startTile;
I'm trying to implement an Office class that contains an inner class: WorkerNode. The WorkerNode class has a name attribute (String) and WorkerNode attributes for boss, peer and subordinate. The attributes of Office are manager and current which are WorkerNode references. The manager refers to the entry point of the structure and current is the current node in the structure. For simplicity, i'm going to try to limit it to 3 levels and assume that the names are unique. I've put together a Office class that containing main and provided the code I've worked on so far.
public class Office { public static void main(String[] args) { String name=Input.getString("input the manager's name: "); Office office=new Office(name); int option;
I have made a node class and im trying to implement a sorting method. I must use a selection sort but with specific instructions: "Your method should not need to use the new operator since it is just moving nodes from one list to another( not creating new nodes)
this is my current implementation ..but i am instantiating new object..
public class NodeInt { private int data; private NodeInt next = null; public NodeInt(){} //precondition: //postcondition: public NodeInt(int data, NodeInt next) { this.data = data; this.next = next;
[code]....
edit: this is the part that worked but i had it commented out so i have the previous and current declared above but didnt copy.
Ok here I have a code that generates 1 million random values then converts them to a string then hashcode. I then insert into a linked list and then I want to run through each hash and find it in the linked list timing each run then averaging out the time at the end.
It works great for smaller amounts of numbers it is searching for (fine under 50 thousand searches for the for loop starting at line 24 LinkedListTest.java) but when I try to do the full million searches it gives me "a Exception in thread "main" java.lang.StackOverflowError" at line 158 in List.java. Maybe im getting tired but I cannot figure out why.
// class to represent one node in a list class ListNode< T > { // package access members; List can access these directly T data; // data for this node ListNode< T > nextNode; // reference to the next node in the list
public void add(int d){ listNode l = new listNode (d, null); l.next = first; first= l; } public list Sum2List (list l1, list l2){ //variables int sum;
[Code] .....
But I have a problem in my first listNode where it ll be pointing to null, thus in the sum2List method the program checks the while condition into false and doesn't go through the loop.
I searched a lot but can't seem to understand the sorting of a SLLNode... I noticed a method called Bubble Sort, I understand how it works, but can't think of a way to implement it to my code..
I'm having some trouble with figuring out how to move along a doubly linked list for an assignment. The program is supposed to be a simple board game simulation. Here is what I have so far:
Space.java:
public class Space { private String name; public Space next; public Space previous; public Space(String name) { this.name = name;
[Code]...
I seem to have been able to get all the other methods working properly, but I am pretty stuck on how to do the movePlayer. Specifically because it is passing an integer, but my objects are of type Space and Boardgame.
i tried everything but its giving me errors. i tried the for loop but its giving me something else.
this is what i have to do Write a recursive method that prints out the data elements of a linked list in reverse order.
Your method should take in as a parameter the head reference to a linked list. Then, write a recursive method that returns a count of the number of elements greater than a given threshold. You may assume that the data elements in the linked lists are ints. The parameters of your method are a reference to the linked list and a int value representing the threshold.
public class recursion3 { public static void main(String [] args) { char a [] = {'A', 'B','C','D','E'}; System.out.println(a); } public static String reverseString(String s) { if (s.length() <= 1) {