> Då skall jag lura ut hur man håller ordning på vilket som är det äldsta värdet utan att flytta runt dom som jag gör nu
Skitenkelt...
En circulär buffert med *en* pekare.
Varje nytt värde sätts bara in där pekaren "pekar" och stega sedan fram pekaren inför nästa position.
Om pekeran har passerat "slutet", laddas den bara om med start-adressen.
(Man behöver alltså aldrig "plocka bort" något "äldsta" värde, eftersom det nya värdet ju skrivs in på samma position...)
Och det behövs inte *två* pekare, så klart, eftersom bufferten "sitter ihop" så att säga. Äldsta värdet är samma address dr
det nya värdet ska läggas in...
Tiden (d.v.s antal instruktioner) för att uppdatera bufferten blir i princip den samma oavsett längd på bufferten.
(För att vara exakt, så blir det i snitt *mindre* processortid/nytt värde ju längre bufferten är,
eftersom "end-of-buffer" kommer med sällan...

)
Ett sätt att göra summeringen mer effektiv, är att spara föregående summa,
sedan först dra ifrån det äldsta värdet (d.v.s där pekaren pekar!), sedan
uppdatera bufferten och slutligen lägga till det nya värdet till summan.
Man kan se det som att man sparar summan av alla värden mellan mellan
det nya och det äldsta värdet, det finns ju ingen anledning att summera dessa gång på gång...
På så sätt blir summaberäkningen också oberoende av längden på bufferten !
Att ha en statisk buffert där man hela tiden flyttar alla värden från ena änden till den andra är ingen bra lösning
(eller i alla fall ingen *snygg* lösning

).
EDIT : Fanken också, missagde $tiff med en minut, skulle ha skrivit lite kortare...
EDIT2 : Vid en närmare läsning av Andex inlägg, så är det ju i princip samma sak som jag beskriv ovan, men lite "pratigare"...

Ursäkta...