Advertisement
Guest User

Untitled

a guest
Jan 20th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.67 KB | None | 0 0
  1. size_t index ( T const& x,size_t const& l, size_t const& r) const{
  2.  
  3.  
  4. if(l > size()||r>size())
  5. throw("Menge::index(): index out of range.");
  6.  
  7. //cut the interval
  8. size_t m = (l+r)/2;
  9.  
  10. // x was found
  11. if( x == (*this)[m])
  12. return m;
  13.  
  14. // x can't be found
  15. if( l==m)
  16. return NPOS;
  17.  
  18. //rekursive part
  19. if( x < (*this)[m])
  20. return index(l,m,x);
  21.  
  22. return index(m+1,r,x);
  23.  
  24. }
  25.  
  26. bool contains ( T const& elem ) const{
  27. return index(elem, 0, size()-1)!=NPOS;
  28. }
  29.  
  30. size_t index (T const& x, size_t const& l=0, size_t const& r=size()-1)const;
  31.  
  32. size_t index (T const& x, size_t const& l=0, size_t const& r=this->size()-1)const;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement