Part I
QuickSort is an efficient sorting algorithm. Can you imagine a context when it is not a good choice?

Part II
Implementing Lists, Stacks, Queues and Priority Queues
A double linked list is a list for which besides the next element in the list, a pointer to the previous element is kept, at the level of each element.
A circular list is a list in which the last element is linked to the first element in the list.

Requirements: Design a circular double linked list, for which the following operations should be implemented:
o Search for a given element in the structure
o Insert an element after some element, specified as argument
o Delete an element specified as argument
o List all the elements present in the double linked list.
Approach: You should show the functionality by repeatedly inserting a few (at least 5) elements, followed by at least one search and one delete operation. After each operation performed, display the elements in the list. The elements should be displayed either in the output window of the IDE, or in a GUI.

Deliverables: You should submit (1) the souce (.java) files, (2) an output sample (screenshot showing program execution and the results of your testing) and (3) a document file describing your solution. The solution description document should include the following elements: a short problem analysis, main design decisions, user interface, testing and test cases, error handling and lessons learned. The size of the document should be of 1-2 pages, single spaced, font size 12. All solution description elements should be properly formatted using APA style.

Part III
1. There are two approaches for implementing the Stack class:
• Using inheritance
Implement the Stack by extending JCF ArrayList:
public class Stack<E> extends ArrayList<E> { ... }
• Using composition
Implement the Stack by defining a JCF ArrayList object as instance variable of the class Stack:
public class Stack<E> {
private ArrayList<E> = new ArrayList<E>();
Discuss the advantages and disadvantages for each of the two Stack implementations.

Solution PreviewSolution Preview

These solutions may offer step-by-step problem-solving explanations or good writing examples that include modern styles of formatting and construction of bibliographies out of text citations and references. Students may use these solutions for personal skill-building and practice. Unethical use is strictly forbidden.


1. Short problem analysis
a. We need to design a circular double linked list
b. This ADT provides these operations
i. Search for a given element in the structure
ii. Insert an element after some element, specified as argument
iii. Delete an element specified as argument
iv. List all the elements present in the double linked list.
c. This ADT is generic
2. Main design decisions
a. Declare an object of CircularDoubleLinkedList that uses Integer as data type
b. Insert 10 element into the list
c. Search for 5 in the list
d. List all element of the list
e. Delete every element of the list , show the list after each operation performs
3. User interface
a. I use console
b. Screenshot...

By purchasing this solution you'll be able to access the following files:

50% discount

$50.00 $25.00
for this solution

or FREE if you
register a new account!

PayPal, G Pay, ApplePay, Amazon Pay, and all major credit cards accepted.

Find A Tutor

View available Java Programming Tutors

Get College Homework Help.

Are you sure you don't want to upload any files?

Fast tutor response requires as much info as possible.

Upload a file
Continue without uploading

We couldn't find that subject.
Please select the best match from the list below.

We'll send you an email right away. If it's not in your inbox, check your spam folder.

  • 1
  • 2
  • 3
Live Chats