Defined in header <algorithm> template< class BidirIt >
void inplace_merge( BidirIt first, BidirIt middle, BidirIt last ); (1) template< class BidirIt, class Compare>
void inplace_merge( BidirIt first, BidirIt middle, BidirIt last, Compare comp ); (2)
Merges two consecutive sorted ranges [first, middle) and [middle, last) into one sorted range [first, last). The order of equal elements is guaranteed to be preserved. The first version uses operator< to c