I wouldn't say it is a stack. it works like stack ( for deletion) .
I think you need to take a look "numbered registers".
Vim has 0-9 numbered registers. If you think it as a stack, the size of the stack is 9 (1-9) for deletion.
Yanked things were stored in register 0 and ""
, no stack structure.
I said it works "stack like" but not stack (for deletion) because, with stack data structure, you could not randomly fetch element. you can just pop or push. but with vim's register, you could get any (0-9) element by "1 "3 "5
for example, and keep the "stack" without changing.
read :h registers
for detail.