Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Please help me with this question. In Java, modify the linked list code in Listing 5.2 (linkList2.java, LaFore book) to make it a list of

Please help me with this question. In Java, modify the linked list code in Listing 5.2 (linkList2.java, LaFore book) to make it a list of objects of generic type note that each Link object contains an object of the generic type instead of a numeric value. Test your code with Personal, Book objects and integers. You need to define a class of Person which has firstname, lastname and age fields, and a class of Book which has ISBN, title and publisher fields. The code to modify is listed below..........

class Link { public int iData; // data item (key) public double dData; // data item public Link next; // next link in list

public Link(int id, double dd) // constructor { iData = id; dData = dd; }

public void displayLink() // display ourself { System.out.print({ + iData + , + dData + } ); } } // end class Link

//**************************************************************************************

class LinkList { private Link first; // ref to first link on list

public LinkList() // constructor { first = null; // no links on list yet }

public void insertFirst(int id, double dd) { // make new link Link newLink = new Link(id, dd); newLink.next = first; // it points to old first link first = newLink; // now first points to this }

public Link find(int key) // find link with given key { // (assumes non-empty list) Link current = first; // start at first while(current.iData != key) // while no match, { if(current.next == null) // if end of list, return null; // didnt find it else // not end of list, current = current.next; // go to next link } return current; // found it }

public Link delete(int key) // delete link with given key { // (assumes non-empty list) Link current = first; // search for link Link previous = first; while(current.iData != key) { if(current.next == null) return null; // didnt find it else { previous = current; // go to next link

current = current.next; } } // found it if(current == first) // if first link, first = first.next; // change first else // otherwise, previous.next = current.next; // bypass it return current; }

public void displayList() // display the list { System.out.print(List (first-->last): ); Link current = first; // start at beginning of list while(current != null) // until end of list, { current.displayLink(); // print data current = current.next; // move to next link } System.out.println(); } } // end class LinkList

//**************************************************************************

class LinkList2App { public static void main(String[] args) { LinkList theList = new LinkList(); // make list theList.insertFirst(22, 2.99); // insert 4 items theList.insertFirst(44, 4.99); theList.insertFirst(66, 6.99); theList.insertFirst(88, 8.99); theList.displayList(); // display list Link f = theList.find(44); // find item if( f != null) System.out.println(Found link with key + f.iData); else

System.out.println(Cant find link); Link d = theList.delete(66); // delete item if( d != null ) System.out.println(Deleted link with key + d.iData); else System.out.println(Cant delete link); theList.displayList(); // display list } // end main() } // end class LinkList2App

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

Data Analysis Using SQL And Excel

Authors: Gordon S Linoff

2nd Edition

111902143X, 9781119021438

More Books

Students also viewed these Databases questions

Question

Tell the merits and demerits of Mendeleev's periodic table.

Answered: 1 week ago