Mercurial > Algorithms__Sedgewick
annotate algs4-c++/src/Buffer.hpp @ 22:c2cbfdf528f6
1.3.44 Ugh. I would never use this in real life but it seems to be what they want.
author | Eris Caffee <discordia@eldalin.com> |
---|---|
date | Tue, 23 Jun 2015 11:02:31 -0500 |
parents | |
children |
rev | line source |
---|---|
discordia@22 | 1 // Sedgewick and Wayne, Algorithms, 4th ed. problem 1.3.44 |
discordia@22 | 2 |
discordia@22 | 3 // Two stack implementation. I don't know why anyone would actually want to use |
discordia@22 | 4 // an implmentation like this, but it's what they suggested in the problem. I |
discordia@22 | 5 // guess it's just an "exercise" after all. |
discordia@22 | 6 |
discordia@22 | 7 |
discordia@22 | 8 #ifndef BUFFER_HPP |
discordia@22 | 9 #define BUFFER_HPP |
discordia@22 | 10 |
discordia@22 | 11 #include <cstddef> |
discordia@22 | 12 |
discordia@22 | 13 #include "Stack.hpp" |
discordia@22 | 14 |
discordia@22 | 15 class Buffer { |
discordia@22 | 16 public: |
discordia@22 | 17 Buffer( void ); |
discordia@22 | 18 |
discordia@22 | 19 void insert( char c ); |
discordia@22 | 20 char get( void ); |
discordia@22 | 21 char delete( void ); |
discordia@22 | 22 void left( size_t k ); |
discordia@22 | 23 void right( size_t k ); |
discordia@22 | 24 size_t size( void ); |
discordia@22 | 25 |
discordia@22 | 26 private: |
discordia@22 | 27 size_t cursor; |
discordia@22 | 28 |
discordia@22 | 29 bool use_s1; |
discordia@22 | 30 Stack<char> s1; |
discordia@22 | 31 Stack<char> s2; |
discordia@22 | 32 }; |
discordia@22 | 33 |
discordia@22 | 34 #endif |