ft_lstadd_front

Subject

Nome da função: ft_lstadd_front

Protótipo: void ft_lstadd_front(t_list **lst, t_list *new);

Parâmetros:

  • #1. O endereço do ponteiro para o primeiro link da lista.
  • #2. O endereço do ponteiro para o elemento a ser adicionado na lista.

Valor de retorno: Nenhum.

Funções externas: Nenhuma

Descrição: Adiciona o elemento ‘new’ no começo da lista.

Rascunho

A função pede para inserir um valor em no começo da lista. Se fizéssemos um main assim:

int main() {
  t_list    *l = ft_lstnew(strdup("Otaku")); //criando a lista
  t_list    *n = ft_lstnew(strdup("Fedido")); //novo elemento a ser inserido

  ft_lstadd_front(&l, n);
  return 0;
}

O resultado seria:

‘l’ antes do ft_lstadd_front. O primeiro elemento da lista era “Otaku”
O primeiro elemento da lista passou a ser “Fedido” e “Otaku” o segundo.

Código

void	ft_lstadd_front(t_list **lst, t_list *new)
{
	if (lst && new) //se os parâmetros não forem nulos
	{
		new->next = *lst; //o próximo elemento passa a ser o que
		*lst = new;      //estava antes, e o atual passa a ser o
	}                        //novo
}

Deixe um comentário