ft_lstsize

jaehlee·2025년 4월 27일

Libft

목록 보기
19/26

linked list 설명

배열(Array) & 연결리스트(Linked List)
해당 페이지에 설명해두었음.

ft_lstsize를 구현하기 위해 libft.h파일에

typedef struct s_list
{
	void			*content;
	struct s_list	*next;
}					t_list;

이 구조체를 추가해야한다.

1. ft_lstsize란?


*lst 리스트의 총 노드 개수를 구해서 리턴하는 함수이다.

2. 함수 프로토타입

int ft_lstsize(t_list *lst)

3. 함수구현

#include "libft.h"

int	ft_lstsize(t_list *lst)
{
	int	len;

	len = 0;
	while (lst)
	{
		len++;
		lst = lst->next;
	}
	return (len);
}

사용예시

int main(void)
{
	t_list *list = NULL;
	t_list *node1;
	t_list *node2;
	t_list *node3;

	node1 = ft_lstnew("node1");
	node2 = ft_lstnew("node2");
	node3 = ft_lstnew("node3");

	ft_lstadd_front(&list, node2); // 리스트: node2
	ft_lstadd_front(&list, node1); // 리스트: node1 -> node2
	ft_lstadd_front(&list, node3); // 리스트: node3 -> node1 -> node2

	printf("List size: %d\n", ft_lstsize(list)); // 3 출력

	free(node1);
	free(node2);
	free(node3);
	return (0);
}
profile
공부하는 개발자

0개의 댓글