t_list *ft_lstnew(void *content)

새로운 요소를 만들어 리턴한다.(malloc이용)
새 요소의 content에는 인자로 받은 content가 들어간다.
새 요소의 next는 NULL을 가리킨다.


-----------------------------------------------------------

void ft_lstadd_front(t_list **lst,  t_list *new)

인자로 받은 new를 lst의 맨 처음에 넣는다.

 



-----------------------------------------------------------

int ft_lstsize(t_list *lst)

리스트의 요소 개수를 리턴한다.
lst는 리스트의 시작이다.


-----------------------------------------------------------

t_list *ft_lstlast(t_list *lst)

리스트의 마지막 요소를 리턴한다.
lst는 리스트의 시작이다.


-----------------------------------------------------------

void ft_lstadd_back(t_list **lst, t_list *new)

인자로 들어온 new를 lst리스트의 마지막에 넣는다.
lst는 list의 첫 번째를 가리키는 포인터다.


-----------------------------------------------------------

void ft_lstdelone(t_list *lst, void (*del)(void *))

첫 번째 인자는 우리가 free시킬 요소다.
두 번째 인자로 첫 번째 인자의 content를 del시킨다.
요소의 next는 free시키면 안 된다.
마지막으로 첫 번째 인자를 free시킨다.


-----------------------------------------------------------

void    ft_lstclear(t_list **lst, void (*del)(void *))

첫 번째 인자는 어떤 요소를 가리키고 있는 t_list형 포인터의 주소다.
두 번째 인자는 삭제하는 함수.
lst가 가리키는 곳부터 시작해 연결된 모든 요소 안의 content를 del시키고 free한다.
최종적으로 *lst는 NULL을 가리키고 있어야 한다.


-----------------------------------------------------------

void    ft_lstiter(t_list *lst, void (*f)(void *))

첫 번째 인자는 어떤 요소를 가리키는 포인터다.
두 번째 인자는 리스트를 돌면서 적용할 함수다.
lst리스트를 돌면서 f함수를 각각의 요소의 content에 적용시킨다.


-----------------------------------------------------------

t_list *ft_lstmap(t_list *lst, void *(*f)(void *), void (*del)(void *))


첫 번째 인자는 어떤 요소를 가리키는 포인터다.
두 번째 인자는  리스트를 iterate할 함수다.
세 번째 인자는 필요할 때 요소의 content를 delete할 함수다.

리턴 값은 새로운 리스트이다.

lst를 돌면서 각각의 요소 내 content에 f라는 함수를 적용한다.
f라는 함수 적용에 성공한 리스트를 만들어 반환한다.

 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기
// custom