minimum(3C++)


minimum -- find the smallest element in an array

Synopsis

   template <class T>    
   const T* minimum(const T* b,const T* e);     
   template <class T>    
   const T* minimum_r(int (*rel)(const T*, const T*),
                const T* b,const T* e);

Assumptions

(1) For the plain version, T::operator< defines a total ordering relation on T.

(2) For the relational version, rel defines a total ordering relation on T.

Description

These functions return a pointer to the leftmost instance of the smallest element in the array. If the array is empty (b >= e), the value of e is returned as the function result.

   template <class T>
   const T* minimum(const T* b,const T* e);

Uses T::operator< to find the smallest element.

   template <class T>
   const T* minimum_r(int (*rel)(const T*,const T*),
       const T* b,const T* e);

Uses rel to find the smallest element.

Complexity

If N is the size of the array, then complexity is O(N). Exactly N-1 tests of the ordering relation are done.

Notes

Because a Block (see Block(3C++)) can always be used wherever an array is called for, Array Algorithms can also be used with Blocks. In fact, these two components were actually designed to be used together.

References

Array_alg(3C++), Block(3C++)
© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004