abcdGGGGGGGGGGGefghijklmnopqrstuvwxyz abcdefgGGGGGGGGGGGhijklmnopqrstuvwxyz abcdefgGGhijklmnopqrstuvwxyz abcdefghijklmnoGGpqrstuvwxyz abcdefghijklmnoGGpqrstuvwxyz There is a memory block state. The changes in the memory block be minimal. abcdGGGGGGGGG abcdeGGGGGGGG The memory block is (AllBeginning, AllEnd). Within it is (AllBeginning, GapBeginning), (GapBeginning, GapEnd) and (GapEnd, AllEnd). Operations ========== A deletion operation of (DeletionBeginning, DeletionEnd) needs to move as little memory blocks around as possible. intersect: PreGapPart = (DeletionBeginning, DeletionEnd) i (AllBeginning, GapBeginning). GapPart = (DeletionBeginning, DeletionEnd) i (GapBeginning, GapEnd). PostGapPart = (DeletionBeginning, DeletionEnd) i (GapBeginning, GapEnd). possible fixes: - move the gap. Will affect (movement-amount) items to the ?? of the gap. - resize the gap. Will affect (movement-amount) items to the ?? of the gap. - move the postgap part.