Deque
- Double Ended Queue라는 이름처럼 기존의 큐와 다르게 앞,뒤에서 바로 자료를 넣고 뺄 수 있는 구조
기본 구조
typedef struct s_node
{
	int				num;
	struct s_node	*prev;
	struct s_node	*next;
}	t_node;
typedef struct s_deque
{
	t_node	*first;
	t_node	*last;
}	t_deque;
Deque 생성
t_deque	*make_deque(void)
{
	t_deque	*new_deque;
	new_deque = malloc(sizeof(t_deque));
	new_deque->first = NULL;
	new_deque->last = NULL;
	return (new_deque);
}
마지막에 값 넣기
t_node	*add_node(t_deque *deq, int num)
{
	t_node	*new_node;
	new_node = malloc(sizeof(t_node));
	if (new_node == NULL)
		return (0);
	new_node->num = num;
	new_node->next = NULL;
	new_node->prev = deq->last;
	if (deq->last == NULL && deq->first == NULL)
	{
		deq->last = new_node;
		deq->first = new_node;
	}
	else
	{
		if (deq->last != NULL)
			deq->last->next = new_node;
		deq->last = new_node;
	}
	return (new_node);
}