gap buffer data structure
in
C# programming language