Find Jobs
Hire Freelancers

A Queue Class

$30-65 USD

Terminado
Publicado hace más de 22 años

$30-65 USD

Pagado a la entrega
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: [login to view URL](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 [login to view URL]() 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 [login to view URL](); [login to view URL](4); [login to view URL](9); [login to view URL](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 [login to view URL](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 << [login to view URL]() << endl; // should be empty [login to view URL]('a'); [login to view URL]('b'); [login to view URL]('c'); [login to view URL]('d'); // should overflow [login to view URL]('e'); // should overflow cout << [login to view URL]() << endl; cout << [login to view URL]() << endl; cout << [login to view URL]() << endl; cout << [login to view URL]() << endl; // should be empty [login to view URL]('h'); [login to view URL]('i'); [login to view URL]('j'); cout << [login to view URL]() << endl; cout << [login to view URL]() << endl; cout << [login to view URL]() << endl; cout << [login to view URL]() << 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.
ID del proyecto: 2836498

Información sobre el proyecto

7 propuestas
Proyecto remoto
Activo hace 22 años

¿Buscas ganar dinero?

Beneficios de presentar ofertas en Freelancer

Fija tu plazo y presupuesto
Cobra por tu trabajo
Describe tu propuesta
Es gratis registrarse y presentar ofertas en los trabajos
Adjudicado a:
Avatar del usuario
See private message.
$55,25 USD en 14 días
5,0 (80 comentarios)
5,2
5,2
7 freelancers están ofertando un promedio de $37 USD por este trabajo
Avatar del usuario
See private message.
$25,50 USD en 14 días
4,9 (37 comentarios)
4,5
4,5
Avatar del usuario
See private message.
$21,25 USD en 14 días
4,5 (33 comentarios)
4,2
4,2
Avatar del usuario
See private message.
$51 USD en 14 días
5,0 (13 comentarios)
4,0
4,0
Avatar del usuario
See private message.
$42,50 USD en 14 días
5,0 (6 comentarios)
3,7
3,7
Avatar del usuario
See private message.
$23,80 USD en 14 días
4,7 (32 comentarios)
3,3
3,3
Avatar del usuario
See private message.
$42,50 USD en 14 días
0,0 (0 comentarios)
0,0
0,0

Sobre este cliente

Bandera de UNITED STATES
United States
5,0
79
Forma de pago verificada
Miembro desde oct 18, 2001

Verificación del cliente

¡Gracias! Te hemos enviado un enlace para reclamar tu crédito gratuito.
Algo salió mal al enviar tu correo electrónico. Por favor, intenta de nuevo.
Usuarios registrados Total de empleos publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Cargando visualización previa
Permiso concedido para Geolocalización.
Tu sesión de acceso ha expirado y has sido desconectado. Por favor, inica sesión nuevamente.