Index handler: Difference between revisions
(→Method) |
No edit summary |
||
Line 12: | Line 12: | ||
'''Name:''' reserve index | '''Name:''' reserve index | ||
''' | '''Argument:''' A value <math>V\in\mathcal{V}</math>. | ||
'''Precondition:''' <math>|I|<N</math>. | '''Precondition:''' <math>|I|<N</math>. | ||
Line 24: | Line 24: | ||
'''Name:''' release index | '''Name:''' release index | ||
''' | '''Argument:''' An integral number <math>i</math>. | ||
'''Precondition:''' <math>i\in I</math>. | '''Precondition:''' <math>i\in I</math>. | ||
'''Postcondition:''' <math>i</math> is extracted from <math>i</math> and the associated value removed. | '''Postcondition:''' <math>i</math> is extracted from <math>i</math> and the associated value removed. | ||
== Method == | |||
'''Name:'' get value | |||
'''Argument:''' An integral number <math>i</math>. | |||
'''Precondition:''' <math>i\in I</math>. | |||
'''Return value:''' The value currently associated with <math>i</math>., | |||
== Method == | == Method == | ||
Line 34: | Line 44: | ||
'''Name:''' change value | '''Name:''' change value | ||
''' | '''Argument:''' An integral number <math>i</math> and a value <math>V\in\mathcal{V}</math>. | ||
'''Precondition:''' <math>i\in I</math>. | '''Precondition:''' <math>i\in I</math>. | ||
'''Postcondition:''' The value associated with <math>i</math> is overwritten by <math>V</math>. | '''Postcondition:''' The value currently associated with <math>i</math> is overwritten by <math>V</math>. |
Revision as of 14:14, 20 October 2014
Representation invariant
This abstract data structure is generic and parameterized by some value type [math]\displaystyle{ \mathcal{V} }[/math]. An object of an implementation of this abstract data structure is repesented by:
- A positive integral number [math]\displaystyle{ N }[/math].
- A subset [math]\displaystyle{ I }[/math] of [math]\displaystyle{ \{1,\ldots,N\} }[/math], the currently used indexes.
- A mapping [math]\displaystyle{ I\rightarrow\mathcal{V} }[/math].
Remark: This abstact data structure may be viewed as a specific, quite restricted type of map.
Method
Name: reserve index
Argument: A value [math]\displaystyle{ V\in\mathcal{V} }[/math].
Precondition: [math]\displaystyle{ |I|\lt N }[/math].
Return value: One of the indexes not in [math]\displaystyle{ I }[/math].
Postcondition: The returned index is inserted in [math]\displaystyle{ I }[/math] and associated with [math]\displaystyle{ V }[/math].
Method
Name: release index
Argument: An integral number [math]\displaystyle{ i }[/math].
Precondition: [math]\displaystyle{ i\in I }[/math].
Postcondition: [math]\displaystyle{ i }[/math] is extracted from [math]\displaystyle{ i }[/math] and the associated value removed.
Method
'Name: get value
Argument: An integral number [math]\displaystyle{ i }[/math].
Precondition: [math]\displaystyle{ i\in I }[/math].
Return value: The value currently associated with [math]\displaystyle{ i }[/math].,
Method
Name: change value
Argument: An integral number [math]\displaystyle{ i }[/math] and a value [math]\displaystyle{ V\in\mathcal{V} }[/math].
Precondition: [math]\displaystyle{ i\in I }[/math].
Postcondition: The value currently associated with [math]\displaystyle{ i }[/math] is overwritten by [math]\displaystyle{ V }[/math].