Code Monkey home page Code Monkey logo

cpp-buffer's Introduction

cpp-buffer

A buffer based on priority queue

Functionality:

This program reads from STDIN multiple commands:

exit

  • program finishs

value:priority

  • value is integer
  • priority is integer
  • save the value to the buffer so it is ordered by priority
  • if there are two same priorities they will be stored in order they come

print

  • it prints buffer to STDOUT

get

  • it prints the first element of the buffer

remove

  • it removes the first element of the buffer

Quick Start:

Once you have cloned the project in your local directory execute:

$cmake -H. -Bbuild

This command will configure the test environment and it will create the build folder where the executable files will be placed.

You can complie the code using:

$cmake --build build

This command will compile two applications: cpp_buffer and test:

  • cpp_buffer application implements the functionality described above.
  • test application implements some unitary test cases coded in test.cpp file.

cpp-buffer's People

Contributors

maherme avatar

Watchers

 avatar

cpp-buffer's Issues

value:priority command implementation

The command value:priority shall do the following:

  • value is integer
  • priority is integer
  • save the value to the buffer so it is ordered by priority
  • if there are two same priorities they will be stored in order they come

Values with same priority are not stored in order they come

When more than one command of kind value:priority is set, the values with the same priority are not stored in order they come.
You can reproduce this bug using print command:

[maherme@localhost cpp_buffer]$ ./build/cpp-buffer
Please, enter a command
2:2
Please, enter a command
3:2
Please, enter a command
4:2
Please, enter a command
5:2
Please, enter a command
1:0
Please, enter a command
print
1
4
3
2
5

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.