Diese Seite dient Demonstrationszwecken!
×

Array Ring Stack with Coldfusion/Lucee

A ring array, also known as a circular array, is a data structure that behaves like an array but the elements are connected in a circular fashion. In other words, the last element of the array is followed by the first element, forming a loop.

Here’s an example of how you can implement a ring array for Coldfusion:

< cfset stack = [ ]> < cfset stackSize = 5> < cfset push(" Vater" )> < cfset push(" Mutter" )> < cfset push(" Kind" )> < cfset push(" hund" )> < cfset push(" Bolle" )> < cfset push(" Alien" )> < cfset push(" Fussel" )> < cfset push(" Barbie" )> < cffunction name=" push" output=" false" hint=" Push a value onto the stack" > < cfargument name=" value" required=" true" > < cfif arrayLen(stack) EQ stackSize> < cfset arrayDeleteAt(stack, 1)> < cfset arrayAppend(stack, arguments.value)> < cfelse> < cfset arrayAppend(stack, arguments.value)> < /cfif> < /cffunction> < cffunction name=" pop" output=" true" hint=" Pop a value off the top of the stack" > < cfreturn arrayDeleteAt(stack, arrayLen(stack))> < /cffunction> < cffunction name=" peek" output=" true" hint=" Peek at the top value on the stack" > < cfreturn stack[ arrayLen(stack)]> < /cffunction> < cffunction name=" rotate" output=" false" hint=" Rotate the stack" > < cfif arrayLen(stack) GT 0> < cfset arrayPrepend(stack, pop())> < /cfif> < /cffunction> < cfdump var=" #stack#" > < cfdump var=" #peek()#" >