Advertisement
Guest User

Untitled

a guest
Nov 24th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.82 KB | None | 0 0
  1. void huffman_codes(Huff_pair* polje, int size){
  2.     Node minHeap[size];
  3.     for (int i = 0; i < size; ++i){
  4.       minHeap[i].data.push_back(polje[i].symbol);
  5.       minHeap[i].val = polje[i].prob;
  6.       minHeap[i].size = 1;
  7.     }
  8.  
  9.     for (int i=size; i>1; i--){
  10.         sort(minHeap, i);
  11.         for (int j = 0; j < (unsigned int) minHeap[i-2].size; j++){
  12.           codewords[minHeap[i-2].data[j]] = "1" + codewords[minHeap[i-2].data[j]];
  13.         }
  14.         for (int j = 0; j < (unsigned int) minHeap[i-1].size; j++){
  15.           codewords[minHeap[i-1].data[j]] = "0" + codewords[minHeap[i-1].data[j]];
  16.         }
  17.         minHeap[i-2].data.insert(minHeap[i-2].data.end(), minHeap[i-1].data.begin(), minHeap[i-1].data.end());
  18.         minHeap[i-2].val += minHeap[i-1].val;
  19.         minHeap[i-2].size += minHeap[i-1].size;
  20.     }
  21. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement