#ifndef QUICKSORT3_H_
#define QUICKSORT3_H_
#include <algorithm>
#include <functional>
#include <iterator>
#include "BubbleSort3.h"
#include "InsertionSort3.h"


namespace Meep {


template<typename RI>
  void quick_sort3(RI first, RI last) {
/** Quicksort on arrays with more than 20 elements
    Params:
    first: An iterator that references
           the first element in the sequence to be sorted
    last: An iterator that references
           1 past the end of the sequence
**/
 

}



template<typename RI>
  void partition(RI first, RI last, RI& up, RI& down) {
/** Partition the table
    Params: 
    first: An iterator that references
           the first element in the sequence to be sorted
    last: An iterator that references
           1 past the end of the sequence
    up: Upon return items in the range first .. up
           are <= pivot_value
    down: Upon return items in the range down .. last
           are >= pivot_value
*/
  
}


} // End namespace Meep

#endif
