Doubly linked list of integers


Question 1: A doubly linked list is like a linked list except that each node has a pointer both to the next node in the list and to the previous node in the list. There are also pointers to the two ends of the lists, called for example Left and Right. The values should be stored in order with the least value at the left and the greatest value at the right. Thus a list with 4 nodes containing the data 3,6,7,10 should look like this:

2213_doubly linked list.jpg

Write a class which will store a doubly linked list of integers (or another type if you prefer) in order, and which will allow the following operations:

1) A constructor and a destructor.

2) Insert a new element chosen by the user at the correct place in the list; for example inserting 8 in the list above will give the list 3, 6, 7, 8, 10.

3) Delete a data element chosen (by value) by the user, for example deleting 6 from the list above will leave 3, 7, 10.

4) List elements from left to right (i.e. in ascending order).

5) List elements from right to left (i.e. in descending order).

You should also write a suitable main program to allow comprehensive testing of the class and its operations.

Question 2: A museum has a collection of old posters advertising events of various kinds (theatre, sport, fairs, lectures etc.). It wishes to keep a record of these, containing, for each poster:

1) a reference number,
2) a short description of the event being advertised,
3) the date (day, month, year) of the event.

A program is required which allows the user to enter the details of the posters (in arbitrary order). It should then be able to produce a list of the posters, in order of the date of the event advertised, and split up into different centuries (i.e. 1701–1800, 1801-1900 etc.). You can assume that no poster has a date earlier than 1100. If there is more than one event on the same day, they should be given in alphabetical order of the event description. Write a program which allows all of this to be done.

Notes:

• The output should look something like this:

1701-1800
Ref No. Date Event
64 24/06/1723 Midsummer Fair
1801-1900
Ref No. Date Event
36 12/05/1819 Cricket match
71 05/06/1833 Theatre performance
16 08/09/1845 Children’s sports
05 08/09/1845 Harvesting competition

• You may assume that the museum has no more than 1000 posters (though for the purposes of testing, you can make this much smaller, of course).

• If the event lasted more than one day, just use the first day as the date of the event.

• There is no need to store any of the data in files, though of course you can if you wish.

• You may find the programs in folders quicksort and heapsort helpful. It should be possible to use the pair of files sortlist.h and sortlisttemplate.h from one of these folders completely unchanged in your program, but it is up to you whether or not you do this.

Request for Solution File

Ask an Expert for Answer!!
Data Structure & Algorithms: Doubly linked list of integers
Reference No:- TGS0615

Expected delivery within 24 Hours