This model defines incremental sorting as a series of
insert(x; S) from the input sequenceX = hx1; : : : ; xni,
such that we can query the array S using select and
member between insertions; or we can traverse S using
predecessor and successor between insertions. The
traversal functions might seem to be redundant, but in fact
they are only redundant when select can be done in O(1)
operations, which Corollary 1 shows that we have to relax
this requirement. For most cases, when select cannot
be done in constant time, predecessor and successor
can still be done in O(1) operations. It is possible that
some incremental sorting algorithms can be done in-place
if they reuse the same space of the input sequence X.
Although there is no strict guidelines, but similiar to
most other definition of incremental algorithms, we only
consider a particular algorithm is an incremental sorting
algorithm if the runtime of its query functions after every
individual insertion is comparable to the runtime of the
same query functions of normal sorting algorithm after n
insertions.