Advertisement
camilosasuketbs

Untitled

Oct 27th, 2021
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.52 KB | None | 0 0
  1. size_t rfind(const String& sub) const {
  2.  
  3. if (size < sub.size) return size;
  4.  
  5. auto searchsize = size - sub.size;
  6.  
  7. auto pend = str + searchsize;
  8.  
  9. auto p = pend;
  10.  
  11. auto psubend = sub.str + sub.size;
  12.  
  13. while(p >= str)
  14. {
  15.  
  16. auto pitem = p;
  17.  
  18. auto psubitem = sub.str;
  19.  
  20. while(pitem < psubend)
  21. {
  22.  
  23. if(*pitem != *psubitem)
  24. {
  25.  
  26. goto next;
  27.  
  28. }
  29. pitem++;
  30. psubitem++;
  31.  
  32. }
  33.  
  34. return p - str;
  35. next:
  36.  
  37. p--;
  38.  
  39. }
  40.  
  41. return size;
  42. }
  43.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement