254                      9, ,    STL

* = 1.5 + i++;

do {

--;

cout  *  " , ";

} while (p != v.begin());

cout  endl;

}

     :

5.5, 4.5, 3.5, 2.5, 1.5,

   ,    .    -
       v. end ().

9.5.  quicksort()

 vector<T>      
quicksort ().      

quicksort.

  quiksort.cpp

//QUICKSORT    vector

template<class T>
void swap(T& i, T& j){  temp = i; i = j; j = temp; }

      .   
swap () ()   ,     -
 .

  quicksort    .   
  ,     vector<T>  
.     from  mid - 1     
mid + 1  to.

template<class T>

void quicksort(* from. * to)

{

* mid;

if (from < to - 1) {

mid = partition(from, to);

quicksort(from, mid);

quicksort(mid + 1, to);

i

}

 part it ion () ()     
 ,         .