Hi Jeff
Thinking over this, what it seems to imply is that when a record is deleted, this doesn't actually remove the record from whatever structure you have loaded your records into but sets a delete flag. Then when a new record is added to the database, it is placed into the first deleted records space that is returned from your structure.
Yes that's more or less my understanding of it, at least as far as the resulting disk-file structure. I'm sure there are loads of possibilities for how one might handle this in terms of data structures in memory - I personally wouldn't assume that the data from all the records had to be held in memory in a data structure. Also, there may not
be any deleted records, in which case a new record needs to be appended to the end of the file.
It's similar to an old dbase dbf format in which records were marked as deleted but the disk space not reclaimed until a pack operation was performed.