Two sorted lists have been created, one implemented using a linked list (LinkedListLibrary linkedListLibrary) and the other implemented using the built-in ArrayList class (ArrayListLibrary arrayListLibrary). Each list contains 100 books (title, ISBN number, author), sorted in ascending order by ISBN number. Complete main() by inserting a new book into each list using the respective LinkedListLibrary and ArrayListLibrary insertSorted() methods and outputting the number of operations the computer must perform to insert the new book. Each insertSorted() returns the number of operations the computer performs. Ex: If the input is: The Catcher in the Rye 9787543321724 J.D. Salinger the output is: Number of linked list operations: 1 Number of ArrayList operations: 1 import java.util.Scanner; import java.io.FileInputStream; import java.io.IOException; public class Library {        public static void fillLibraries(LinkedListLibrary linkedListLibrary, ArrayListLibrary arrayListLibrary) throws IOException {

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter18: Stacks And Queues
Section: Chapter Questions
Problem 16PE: The implementation of a queue in an array, as given in this chapter, uses the variable count to...
icon
Related questions
Question

Two sorted lists have been created, one implemented using a linked list (LinkedListLibrary linkedListLibrary) and the other implemented using the built-in ArrayList class (ArrayListLibrary arrayListLibrary). Each list contains 100 books (title, ISBN number, author), sorted in ascending order by ISBN number.

Complete main() by inserting a new book into each list using the respective LinkedListLibrary and ArrayListLibrary insertSorted() methods and outputting the number of operations the computer must perform to insert the new book. Each insertSorted() returns the number of operations the computer performs.

Ex: If the input is:

The Catcher in the Rye 9787543321724 J.D. Salinger

the output is:

Number of linked list operations: 1 Number of ArrayList operations: 1

import java.util.Scanner;
import java.io.FileInputStream;
import java.io.IOException;

public class Library {
   
   public static void fillLibraries(LinkedListLibrary linkedListLibrary, ArrayListLibrary arrayListLibrary) throws IOException {
      FileInputStream fileByteStream = null; // File input stream
      Scanner inFS = null;                   // Scanner object
      int linkedListOperations = 0;
      int arrayListOperations = 0;
      
      BookNode currNode;
      Book tempBook;
      
      String bookTitle;
      String bookAuthor;
      long bookISBN;
      
      // Try to open file
      fileByteStream = new FileInputStream("Books.txt");
      inFS = new Scanner(fileByteStream);

      while (inFS.hasNextLine()) {
         bookTitle = inFS.nextLine();
         bookISBN = inFS.nextLong();
         inFS.nextLine();
         bookAuthor = inFS.nextLine();
         
         // Insert into linked list
         currNode = new BookNode(bookTitle, bookAuthor, bookISBN);
         linkedListOperations = linkedListLibrary.insertSorted(currNode, linkedListOperations);
         linkedListLibrary.lastNode = currNode;
         
         // Insert into ArrayList
         tempBook = new Book(bookTitle, bookAuthor, bookISBN);
         arrayListOperations = arrayListLibrary.insertSorted(tempBook, arrayListOperations);
      }
      
      fileByteStream.close(); // close() may throw IOException if fails
   }
       
   public static void main (String[] args) throws IOException {
      Scanner scnr = new Scanner(System.in);
      int linkedListOperations = 0;
      int arrayListOperations = 0;
      
      // Create libraries
      LinkedListLibrary linkedListLibrary = new LinkedListLibrary();
      ArrayListLibrary arrayListLibrary = new ArrayListLibrary();
      
      // Fill libraries with 100 books
      fillLibraries(linkedListLibrary, arrayListLibrary);
      
      // Create new book to insert into libraries
      BookNode currNode;
      Book tempBook;
      
      String bookTitle;
      String bookAuthor;
      long bookISBN;
      
      bookTitle = scnr.nextLine();
      bookISBN = scnr.nextLong();
      scnr.nextLine();
      bookAuthor = scnr.nextLine();
       
      // Insert into linked list
      currNode = new BookNode(bookTitle, bookAuthor, bookISBN);
      // TODO: Call LL_Library's insertSorted() method to insert currNode and return
      //       the number of operations performed
      
      linkedListLibrary.lastNode = currNode;
      
      // Insert into ArrayList
      tempBook = new Book(bookTitle, bookAuthor, bookISBN);
      // TODO: Call AL_Library's insertSorted() method to insert tempBook and return
      //       the number of operations performed
      
      // TODO: Print number of operations for linked list
      
      // TODO: Print number of operations for ArrayList
      
   }
}

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 8 images

Blurred answer
Follow-up Questions
Read through expert solutions to related follow-up questions below.
Follow-up Question

getting this issue: Library.java:118: error: class, interface, or enum expected import java.util.ArrayList; ^ 1 error

Solution
Bartleby Expert
SEE SOLUTION
Knowledge Booster
Arrays
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning
EBK JAVA PROGRAMMING
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT