Description
Question 1
a) Write a generic queue class called MyQueue using LinkedList. Implement the following
methods:
a. public MyQueue(E[] e)
b. public MyQueue()
c. public void enqueue(E e)
d. public E dequeue()
e. public E getElement(int i)
f. public E peek()
g. public int getSize()
h. public boolean contains(E e)
i. public boolean isEmpty();
j. public String tostring()
b) Write a test program that :
a. Have an initialize queue items consists of Durian and Blueberry in a fruitQ
b. Then add new items in the following order: Apple, Orange, Grapes, Cherry.
c. Display the queue.
d. Show the top item.
e. Get the queue size.
f. Delete Durian.
g. Get item in index position of 2
h. Check whether the queue consists of Cherry
i. Check whether the queue consists of Durian
j. Display the queue using the isEmpty() condition.
Question 2
Write a Java program that uses a Queue to determine if the input string is a palindrome
or not.
UO Page 1
WIA1002/WIB1002 Lab 8 Sem. 2,
2018/2019
Question 3
When a share of common stock of some company is sold, the capital gain or loss is obtained by
calculating the difference between the share’s selling price and the price originally paid to buy
it. This rule is easy to understand for a single share. However, if we sell multiple shares of stock
bought over a long period of time, then we must identify the shares actually being sold. A
standard accounting principle for identifying which shares of a stock were sold in such a case is
to use a FIFO protocol – the shares sold are the ones that have been held the longest.
For example, suppose we buy 100 shares at $20 each on day 1, 20 shares at $24 on day 2, 200
shares at $36 on day 3, and then sell 150 shares on day 4 at $30 each. Then applying the FIFO
protocol means that of the 150 shares sold, 100 were bought on day 1, 20 were bought on day
2, and 30 were bought on day 3. The capital gain or loss in this case would therefore be (100 *
10) + (20* 6) + (30 * -6) = $940.
Write a program that takes as input a sequence of transactions of the form “buy x share(s) at
$y each” or “sell x share(s) at $y each,” assuming that the transactions occur on consecutive
days and the value x and y are integers. Given this input sequence, the output should be the
total gain or loss for the sequence, using the FIFO protocol to identify shares.
Example Output (Note: the example output is only for your reference purposes; you may solve
the aforementioned problem with different approaches):
UO Page 2
WIA1002/WIB1002 Lab 8 Sem. 2,
2018/2019
UO Page 3