gap buffer data structure
in
C programming language