a_deleteDuplicates( A[ 0...n - 1 ] ) :A'[ 0...n - 1 ] {
buildHeap( A ) // as it's done in heapsort
for( i = n downto 2 ) do {
temp : = Heap.deleteMin
}
if( A'[ i - 1 ] != temp ) {
A'[ i ] : = temp
}
}
b_deleteDuplicates( A[ 0...n - 1 ] ) :A'[ 0...n - 1 ] {
for( i = 0 to n - 1 ) do {
A'[ i ] : = null
}
for( i = 0 to n - 1 ) do {
h: = H( A[ i ] ) // H ist universelle Hashfkt die ganzzahlig in [0,...,n-1] abbildet
A'[ h ] : = A[ i ]
}
}
return A'