Advertisement
Guest User

Untitled

a guest
Apr 6th, 2020
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.49 KB | None | 0 0
  1. void LZ77::decode() {
  2.     for (auto triplet : triplets) {
  3.         int length = triplet.length;
  4.         if (length > 0) {
  5.             string s = dataBuffer.substr(dataBuffer.length() - triplet.offset, min(length, triplet.offset));
  6.             while (length) {
  7.                 int repeats = min(length, (int) s.length());
  8.                 dataBuffer.append(s, 0, repeats);
  9.                 length -= repeats;
  10.             }
  11.         }
  12.  
  13.         dataBuffer.append(1, triplet.value);
  14.     }
  15. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement