Circular buffer: Difference between revisions

Content deleted Content added
Changing short description from "A circular shaped buffer shown while obtaining data" to "Data structure in computer science"
 
(One intermediate revision by one other user not shown)
Line 33:
Alternatively, the routines that manage the buffer could prevent overwriting the data and return an error or raise an [[exception handling|exception]]. Whether or not data is overwritten is up to the semantics of the buffer routines or the application using the circular buffer.
 
Finally, if two elements are now removed then what would be removed is '''not''' 3 & 4 (or rather now A & B), but 5 & 6 because 5 & 6 are now the oldest elements, yielding the buffer with:
 
:[[Image:Circular buffer - X789ABX.svg|250px]]
Line 46:
== Circular buffer mechanics ==
:[[Image:Hardware_circular_buffer_implementation_patent_us3979733_fig4.png|250px|thumb|Circular buffer implementation in hardware, US patent 3979733, fig4]]
A circular buffer can be implemented using a [[pointer (computer programming)|pointer]] and threefour integers:<ref name="Liu Wu Das 2021 p. 117">{{cite book |last1=Liu |first1=Z. |url=https://books.google.com/books?id=si1CEAAAQBAJ&pg=PA117 |title=Wireless Algorithms, Systems, and Applications: 16th International Conference, WASA 2021, Nanjing, China, June 25–27, 2021, Proceedings, Part II |last2=Wu |first2=F. |last3=Das |first3=S.K. |publisher=Springer International Publishing |year=2021 |isbn=978-3-030-86130-8 |series=Lecture Notes in Computer Science |page=117 |access-date=2023-09-04}}</ref>
* buffer start in memory
* buffer capacity (length)