DeSiGNAR  0.5a
Data Structures General Library
Classes | Namespaces | Functions
sort.H File Reference
#include <array.H>
#include <list.H>
Include dependency graph for sort.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Designar::KeyCmp< T, Cmp >
 
struct  Designar::PtrCmp< T, Cmp >
 

Namespaces

 Designar
 

Functions

template<typename T , template< typename > class ArrayType, class Cmp = std::less<T>>
lint_t Designar::binary_search (const ArrayType< T > &, const T &, lint_t, lint_t, Cmp &)
 
template<typename T , template< typename > class ArrayType, class Cmp = std::less<T>>
lint_t Designar::sequential_search (const ArrayType< T > &, const T &, lint_t, lint_t, Cmp &)
 
template<class ArrayType , class Cmp >
void Designar::insertion_sort (ArrayType &, lint_t, lint_t, Cmp &)
 
template<typename ArrayType , class Cmp >
lint_t Designar::partition (ArrayType &, lint_t, lint_t, Cmp &)
 
template<typename ArrayType , class Cmp >
void Designar::quicksort (ArrayType &, lint_t, lint_t, Cmp &)
 
template<typename T , class Cmp >
void Designar::sift_up (T *, nat_t, nat_t, Cmp &)
 
template<typename T , class Cmp >
void Designar::sift_down (T *, nat_t, nat_t, Cmp &)
 
template<typename T , class Cmp >
std::tuple< NodeSLList< T >, typename NodeSLList< T >::Node *, NodeSLList< T > > Designar::partition (NodeSLList< T > &, Cmp &)
 
template<typename T , class Cmp >
void Designar::quicksort (NodeSLList< T > &, Cmp &)
 
template<class Cmp >
std::tuple< DL, DL *, DL > Designar::partition (DL &, Cmp &)
 
template<class Cmp >
void Designar::quicksort (DL &, Cmp &)
 
template<class ArrayType >
ArrayType Designar::reverse (const ArrayType &)
 
template<class SRCL , class TGTL >
TGTL Designar::reverse (const SRCL &)
 
template<typename T , template< typename > class ArrayType, class Cmp = std::less<T>>
lint_t Designar::binary_search (const ArrayType< T > &a, T &k, lint_t l, lint_t r, Cmp &&cmp=Cmp())
 
template<typename T , template< typename > class ArrayType, class Cmp = std::less<T>>
lint_t Designar::binary_search (const ArrayType< T > &a, const T &k, Cmp &cmp)
 
template<typename T , template< typename > class ArrayType, class Cmp = std::less<T>>
lint_t Designar::binary_search (const ArrayType< T > &a, const T &k, Cmp &&cmp=Cmp())
 
template<typename T , template< typename > class ArrayType, class Cmp = std::less<T>>
lint_t Designar::sequential_search (const ArrayType< T > &a, const T &k, lint_t l, lint_t r, Cmp &&cmp=Cmp())
 
template<typename T , template< typename > class ArrayType, class Cmp = std::less<T>>
lint_t Designar::sequential_search (const ArrayType< T > &a, const T &k, Cmp &cmp)
 
template<typename T , template< typename > class ArrayType, class Cmp = std::less<T>>
lint_t Designar::sequential_search (const ArrayType< T > &a, const T &k, Cmp &&cmp=Cmp())
 
template<class ArrayType , class Cmp = std::less<typename ArrayType::DataType>>
void Designar::insertion_sort (ArrayType &a, lint_t l, lint_t r, Cmp &&cmp=Cmp())
 
template<class ArrayType , class Cmp >
void Designar::insertion_sort (ArrayType &a, lint_t size, Cmp &cmp)
 
template<class ArrayType , class Cmp = std::less<typename ArrayType::DataType>>
void Designar::insertion_sort (ArrayType &a, lint_t size, Cmp &&cmp=Cmp())
 
template<class ArrayType , class Cmp >
void Designar::insertion_sort (ArrayType &a, Cmp &cmp)
 
template<class ArrayType , class Cmp = std::less<typename ArrayType::DataType>>
void Designar::insertion_sort (ArrayType &a, Cmp &&cmp=Cmp())
 
template<typename ArrayType , class Cmp >
lint_t Designar::select_pivot (ArrayType &a, lint_t l, lint_t r, Cmp &cmp)
 
template<class ArrayType , class Cmp = std::less<typename ArrayType::DataType>>
void Designar::quicksort (ArrayType &a, lint_t l, lint_t r, Cmp &&cmp=Cmp())
 
template<class ArrayType , class Cmp >
void Designar::quicksort (ArrayType &a, lint_t size, Cmp &cmp)
 
template<class ArrayType , class Cmp = std::less<typename ArrayType::DataType>>
void Designar::quicksort (ArrayType &a, lint_t size, Cmp &&cmp=Cmp())
 
template<class ArrayType , class Cmp >
void Designar::quicksort (ArrayType &a, Cmp &cmp)
 
template<class ArrayType , class Cmp = std::less<typename ArrayType::DataType>>
void Designar::quicksort (ArrayType &a, Cmp &&cmp=Cmp())
 
template<typename T , class Cmp = std::less<T>>
void Designar::quicksort (FixedArray< T > &a, Cmp &cmp)
 
template<typename T , class Cmp = std::less<T>>
void Designar::quicksort (FixedArray< T > &a, Cmp &&cmp=Cmp())
 
template<typename T , class Cmp = std::less<T>>
void Designar::quicksort (DynArray< T > &a, Cmp &cmp)
 
template<typename T , class Cmp = std::less<T>>
void Designar::quicksort (DynArray< T > &a, Cmp &&cmp=Cmp())
 
template<typename T , class Cmp >
void Designar::sift_up (T *a, nat_t l, nat_t r, Cmp &&cmp=Cmp())
 
template<typename T , class Cmp >
void Designar::sift_down (T *a, nat_t l, nat_t r, Cmp &&cmp=Cmp())
 
template<typename T , class Cmp = std::less<T>>
void Designar::quicksort (NodeSLList< T > &l, Cmp &&cmp=Cmp())
 
template<class Cmp >
void Designar::quicksort (DL &l, Cmp &&cmp=Cmp())
 
template<typename T , class Cmp >
void Designar::quicksort (DLNode< T > &l, Cmp &cmp)
 
template<typename T , class Cmp = std::less<T>>
void Designar::quicksort (DLNode< T > &l, Cmp &&cmp=Cmp())
 
template<typename T , class Cmp >
void Designar::quicksort (DLList< T > &l, Cmp &cmp)
 
template<typename T , class Cmp = std::less<T>>
void Designar::quicksort (DLList< T > &l, Cmp &&cmp=Cmp())
 
template<typename SeqType , class Cmp = std::less<typename SeqType::ItemType>>
SeqType Designar::sort (const SeqType &s, Cmp &cmp)
 
template<typename SeqType , class Cmp = std::less<typename SeqType::ItemType>>
SeqType Designar::sort (const SeqType &s, Cmp &&cmp=Cmp())
 
template<typename SeqType , class Cmp = std::less<typename SeqType::ItemType>>
void Designar::inline_sort (SeqType &s, Cmp &cmp)
 
template<typename SeqType , class Cmp = std::less<typename SeqType::ItemType>>
void Designar::inline_sort (SeqType &s, Cmp &&cmp=Cmp())
 
template<typename T >
FixedArray< T > Designar::reverse (const FixedArray< T > &a)
 
template<typename T >
DynArray< T > Designar::reverse (const DynArray< T > &a)
 
template<typename T >
SLList< T > Designar::reverse (const SLList< T > &l)
 
template<typename T >
DLList< T > Designar::reverse (const DLList< T > &l)