btree print smaller (no compact mode). sstr add duplicates new sring
This commit is contained in:
parent
cf8d5f81aa
commit
b3ba15d1d3
3 changed files with 18 additions and 25 deletions
|
|
@ -37,29 +37,12 @@ static int print_t(t_btree *tree,
|
|||
right = print_t(tree->right, (int[3]){
|
||||
0, data[offset] + left + width, data[depth] + 1}, s, printer);
|
||||
i = -1;
|
||||
while (++i < width)
|
||||
s[data[depth]][data[offset] + left + i] = b[i];
|
||||
if (data[depth] && data[is_left])
|
||||
{
|
||||
i = -1;
|
||||
while (++i < width)
|
||||
s[data[depth] - 1][data[offset] + left + width / 2 + i] = '-';
|
||||
s[data[depth] - 1][data[offset] + left + width / 2] = '.';
|
||||
}
|
||||
else if (data[depth] && !data[is_left])
|
||||
{
|
||||
i = -1;
|
||||
while (++i < width)
|
||||
s[data[depth] - 1][data[offset] - width / 2 + i] = '-';
|
||||
s[data[depth] - 1][data[offset] + left + width / 2] = '.';
|
||||
}
|
||||
i = -1;
|
||||
while (++i < width)
|
||||
s[2 * data[depth]][data[offset] + left + i] = b[i];
|
||||
if (data[depth] && data[is_left])
|
||||
{
|
||||
i = -1;
|
||||
while (++i < width)
|
||||
while (++i < width + right)
|
||||
s[2 * data[depth] - 1][data[offset] + left + width / 2 + i] = '-';
|
||||
s[2 * data[depth] - 1][data[offset] + left + width / 2] = '+';
|
||||
s[2 * data[depth] - 1][
|
||||
|
|
@ -68,7 +51,7 @@ static int print_t(t_btree *tree,
|
|||
else if (data[depth] && !data[is_left])
|
||||
{
|
||||
i = -1;
|
||||
while (++i < width)
|
||||
while (++i < width + left)
|
||||
s[2 * data[depth] - 1][data[offset] - width / 2 + i] = '-';
|
||||
s[2 * data[depth] - 1][data[offset] + left + width / 2] = '+';
|
||||
s[2 * data[depth] - 1][data[offset] - width / 2 - 1] = '+';
|
||||
|
|
|
|||
|
|
@ -20,13 +20,19 @@ char **ft_sstradd(char **sstr, char *new)
|
|||
|
||||
i = 0;
|
||||
size = 0;
|
||||
while (sstr && sstr[size])
|
||||
size++;
|
||||
if (sstr)
|
||||
while (sstr[size])
|
||||
size++;
|
||||
if (!(newlist = (char **)malloc(sizeof(char *) * (size + 2))))
|
||||
return (NULL);
|
||||
while (sstr && *sstr)
|
||||
newlist[i++] = *sstr++;
|
||||
newlist[i++] = new;
|
||||
if (sstr)
|
||||
while (sstr[i])
|
||||
{
|
||||
newlist[i] = sstr[i];
|
||||
i++;
|
||||
}
|
||||
newlist[i++] = ft_strdup(new);
|
||||
newlist[i] = NULL;
|
||||
free(sstr);
|
||||
return (newlist);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,5 +18,9 @@ void ft_sstrprint(char **list, char sep)
|
|||
|
||||
i = 0;
|
||||
while (list[i])
|
||||
ft_printf("%s%c", list[i++], sep);
|
||||
{
|
||||
ft_putstr(list[i++]);
|
||||
if (list[i])
|
||||
ft_putchar(sep);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue