/*
- (c) 1995--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1995--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
Distributed under GNU GPL
*/
template<class T> INLINE void
Array<T>::insert (T k, int j)
{
- assert (j >=0 && j<= size_);
+ assert (j >= 0 && j <= size_);
set_size (size_ + 1);
for (int i = size_ - 1; i > j; i--)
array_[i] = array_[i - 1];
return;
swap (lower, (lower + upper) / 2);
int last = lower;
- for (int i= lower +1; i <= upper; i++)
+ for (int i = lower +1; i <= upper; i++)
if (compare (array_[i], array_[lower]) < 0)
swap (++last, i);
swap (lower, last);
Array<T>::reverse ()
{
int h = size_ / 2;
- for (int i =0, j = size_ - 1; i < h; i++, j--)
+ for (int i = 0, j = size_ - 1; i < h; i++, j--)
swap (i, j);
}
void
Array<T>::OK () const
{
- assert (max_ >= size_ && size_ >=0);
- if (max_) assert (array_);
+ assert (max_ >= size_ && size_ >= 0);
+ if (max_)
+ assert (array_);
}
template<class T> INLINE
T *p = array_;
size_ = 0;
max_ = 0;
- array_ =0;
+ array_ = 0;
return p;
}
Array<T>
Array<T>::slice (int lower, int upper) const
{
- assert (lower >= 0 && lower <=upper&& upper <= size_);
+ assert (lower >= 0 && lower <= upper && upper <= size_);
Array<T> r;
- int s =upper - lower;
+ int s = upper - lower;
r.set_size (s);
arrcpy (r.array_, array_ + lower, s);
return r;
binary_search_bounds (table, key, compare, &lo, &hi);
if (! (*compare) (key, table[lo]))
- {
- return lo;
- }
+ return lo;
else
return -1; /* not found */
}