Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members  

mpcl::util::strategy::TQuickSortAlgorithm< TSequence > Class Template Reference

#include <quick_sort_algorithm.hh>

Inheritance diagram for mpcl::util::strategy::TQuickSortAlgorithm< TSequence >:

mpcl::util::strategy::ISortAlgorithm< TSequence > List of all members.

Public Types

typedef ISortAlgorithm< TSequence
>::iterator 
iterator
 Iterator for sequences.

typedef ISortAlgorithm< TSequence
>::const_iterator 
const_iterator
 Constant iterator for sequences.

typedef ISortAlgorithm< TSequence
>::value_type 
value_type
 Value type for sequences.


Public Methods

void execute (TSequence &rtSOURCE_SEQUENCE)

Protected Methods

virtual const_iterator median (const TSequence &rktSOURCE_SEQUENCE) const
virtual const_iterator median (const_iterator ktBEGIN_ITER, const_iterator ktEND_ITER) const
void sort (iterator tBEGIN_ITER, iterator tEND_ITER)

Detailed Description

template<typename TSequence>
class mpcl::util::strategy::TQuickSortAlgorithm< TSequence >

Quick-sort algorithm.

Requires:

TSequence::begin() TSequence::const_iterator TSequence::end() TSequence::insert() TSequence::iterator TSequence::size() TSequence::value_type

Definition at line 59 of file quick_sort_algorithm.hh.


Member Function Documentation

template<typename TSequence>
void mpcl::util::strategy::TQuickSortAlgorithm< TSequence >::execute TSequence &    rtSOURCE_SEQUENCE [inline, virtual]
 

Apply the quick-sort algorithm over the sequence of items rtSOURCE_SEQUENCE.

Parameters:
rtSOURCE_SEQUENCE  Source sequence.

Implements mpcl::util::strategy::ISortAlgorithm< TSequence >.

Definition at line 91 of file quick_sort_algorithm.hh.

References mpcl::util::strategy::TQuickSortAlgorithm< TSequence >::sort().

template<typename TSequence>
virtual const_iterator mpcl::util::strategy::TQuickSortAlgorithm< TSequence >::median const_iterator    ktBEGIN_ITER,
const_iterator    ktEND_ITER
const [inline, protected, virtual]
 

Gets the element at median position into the sequence of items delimited by iterators.

Parameters:
ktBEGIN_ITER  Beginning of sequence.
ktEND_ITER  End of sequence.
Returns:
Iterator at median of the sequence.

Definition at line 124 of file quick_sort_algorithm.hh.

template<typename TSequence>
virtual const_iterator mpcl::util::strategy::TQuickSortAlgorithm< TSequence >::median const TSequence &    rktSOURCE_SEQUENCE const [inline, protected, virtual]
 

Gets the element at median position into the sequence of items rktSOURCE_SEQUENCE.

Parameters:
rktSOURCE_SEQUENCE  Source sequence.
Returns:
Iterator at median of the sequence.

Definition at line 112 of file quick_sort_algorithm.hh.

Referenced by mpcl::util::strategy::TQuickSortAlgorithm< TSequence >::sort().

template<typename TSequence>
void mpcl::util::strategy::TQuickSortAlgorithm< TSequence >::sort iterator    tBEGIN_ITER,
iterator    tEND_ITER
[inline, protected]
 

Makes the Quicksort (C. A. R. Hoare) method over the sequence between iterators.

Parameters:
tBEGIN_ITER  Beginning of sequence.
tEND_ITER  End of sequence.

Definition at line 142 of file quick_sort_algorithm.hh.

References mpcl::util::strategy::TQuickSortAlgorithm< TSequence >::median(), and mpcl::util::strategy::ISortAlgorithm< TSequence >::swap().

Referenced by mpcl::util::strategy::TQuickSortAlgorithm< TSequence >::execute().


The documentation for this class was generated from the following file:
Generated on Mon Oct 13 02:35:27 2003 for MPCL by doxygen1.2.18