C
23
huff c
Guest on 24th January 2023 01:59:45 PM
#include <stdio.h>
void
print_bits(char p, int l)
{
int i;
for (i = 0; i < l; i++)
if (p & (1 << i))
else
}
char *
make_tree(char *s, int *len, int l, int b, int pos)
{
char c;
if (*len == 0)
return (s);
c = *s;
s++;
(*len)--;
if (c == '\1') {
s = make_tree(s, len, l + 1, 0, pos);
return (make_tree(s, len, l + 1, 1, pos | (1 << (l - 1))));
} else {
print_bits(pos | (b << l), l - 1);
s++;
(*len)--;
return (s);
}
}
int
main(void)
{
char str[] = { 1, 1, 1, 1, 0, 3, 1, 0, 4, 0, 5, 0, 6, 1, 0, 7, 0, 8 };
int len;
len = sizeof(str);
make_tree(str, &len, 0, 0, 0);
return (0);
}