Ordered sequence: Difference between revisions
Line 5: | Line 5: | ||
'''Representation invariant:''' | '''Representation invariant:''' | ||
# The abstract data structure '''ordered sequence''' implements sorted sequences as defined [[Sets and sequences|here]]. | # The abstract data structure '''ordered sequence''' implements sorted sequences as defined [[Sets and sequences|here]]. | ||
# This abstract data structure is [[Genericity|generic]] and parameterized by a fixed key type <math>\ | # This abstract data structure is [[Genericity|generic]] and parameterized by a fixed key type <math>{\cal K}</math>. | ||
== Insert at position == | == Insert at position == |
Revision as of 09:23, 17 May 2015
General Information
Representation invariant:
- The abstract data structure ordered sequence implements sorted sequences as defined here.
- This abstract data structure is generic and parameterized by a fixed key type [math]\displaystyle{ {\cal K} }[/math].
Insert at position
Input: A key [math]\displaystyle{ K \in \Kappa }[/math] and a nonnegative integral position [math]\displaystyle{ p }[/math].
Output: a Boolean value, which is true if, and only if, [math]\displaystyle{ p\in\{0,\ldots,n\} }[/math], where [math]\displaystyle{ n }[/math] is the length of the list.
Precondition:
Postcondition: If the output ist true, a new element with the key [math]\displaystyle{ K }[/math] is inserted at position [math]\displaystyle{ p }[/math].
Find
Input: A key [math]\displaystyle{ K \in \kappa }[/math].
Output: A Boolean value, which is true if, and only if, [math]\displaystyle{ K }[/math] is currently contained in the sequence.
Precondition:
Postcondition:
Remove
Input: A key [math]\displaystyle{ K \in \kappa }[/math].
Output: A Boolean value, which is 'true' if, and only if, [math]\displaystyle{ K }[/math] is currently stored in the sequence.
Precondition:
Postcondition: If the output is 'true', one occurrence of [math]\displaystyle{ K }[/math] is removed.