A Queue Class

Closed

Description

Implement a FIFO, First-In-First-Out, data structure, also known as a "queue." A queue satisfies these rules:

1) It stores data for us; if we have a queue object, say q, then when we want q to store a number, say 7.3, we "add" it to the queue with a call: [url removed, login to view](7.3). 7.3 is then placed into the queue q and then joins the other numbers that were on the queue.

2) Whenever we go to retreive data called "removing") from the queue, the number we get will always be the "oldest" item that we added. So if we call [url removed, login to view]() 10 times after the first Add() above, and then we "remove" a number from the queue, the number returned by the Remove() method will the be 7.3. This also has the effect of removing 7.3 from the queue, so it is no longer there.

If you Add() three times

[url removed, login to view]();

[url removed, login to view](4);

[url removed, login to view](9);

[url removed, login to view](2);

Then the queue looks like this:

oldest -> 4

9

2

next add ->

If you then Remove() once, the 4 is returned from the queue and it will then contain:

oldest -> 9

2

next add ->

If you

[url removed, login to view](7.3);

at this point the queue becomes:

oldest -> 9

2

7.3

next add ->

If you Remove() now, the 9 will be returned and if you Remove() immediately after that, the 2 will be returned, leaving only the 7.3 on the queue. I think you get the idea.

Implement a queue of characters using C++. The queue will consist of chars. The size of the queue, implemented using a fixed size array, should be small (say 3 or 5) to easily demonstrate an overflow condition in a test run.

## Deliverables

Thus, after executing the main program segment:

Queue q;

cout << [url removed, login to view]() << endl; // should be empty

[url removed, login to view]('a');

[url removed, login to view]('b');

[url removed, login to view]('c');

[url removed, login to view]('d'); // should overflow

[url removed, login to view]('e'); // should overflow

cout << [url removed, login to view]() << endl;

cout << [url removed, login to view]() << endl;

cout << [url removed, login to view]() << endl;

cout << [url removed, login to view]() << endl; // should be empty

[url removed, login to view]('h');

[url removed, login to view]('i');

[url removed, login to view]('j');

cout << [url removed, login to view]() << endl;

cout << [url removed, login to view]() << endl;

cout << [url removed, login to view]() << endl;

cout << [url removed, login to view]() << endl; // should be empty

the output on the screen would look like:

** empty queue **

** full queue **

** full queue **

a

b

c

** empty queue **

h

i

j

** empty queue **

The queue should be designed so that it will not be exhausted unless the number of items CURRENTLY waiting in the queue equals the size of the queue. That is, a queue defined to have 100 items, should be able to last FOREVER as long as there are no more than 99 items in the queue at any one time.

Be sure to include a constructor in addition to the Init() method. An Init() method should do what a constructor does but in the mid-life of the queue object.

Complete and fully-functional working program(s) in executable form as well as complete source code of all work done. Complete copyrights to all work purchased.

Skills: C Programming, Engineering, MySQL, PHP, Software Architecture, Software Testing

See more: what is queue in data structure, what is queue data structure, what is data structure in programming, what is an object in programming, what is an array in programming, what is a method in programming, what is a data structure in c, what is a data structure, what is a class in programming, what data structure, what are data structure, structure stores, queue program in data structure, queue in data structure, queue data structure in c, queue data structure, programming what is a class, programming of life, programming in data structure, programming data structure, programming and data structure, n equals, life programming, first mid, Data Structure programming

Project ID: #2836498

Awarded to:

sammyleong

See private message.

$55.25 USD in 14 days
(80 Reviews)
5.2

7 freelancers are bidding on average $37 for this job

nickzam

See private message.

$25.5 USD in 14 days
(37 Reviews)
4.5
vw132761vw

See private message.

$21.25 USD in 14 days
(33 Reviews)
4.2
bryanbvw

See private message.

$51 USD in 14 days
(13 Reviews)
4.0
gandalfvw

See private message.

$42.5 USD in 14 days
(6 Reviews)
3.7
odysseyvw

See private message.

$23.8 USD in 14 days
(32 Reviews)
3.3
n2tazmania

See private message.

$42.5 USD in 14 days
(0 Reviews)
0.0