sa : swap a - 스택 a의 가장 위에 있는 두 원소(혹은 첫 번쨰 원소와 두 번째 원소)의 위치를 서로 바꾼다.

sb : swap b - 스택 b의 가장 위에 있는 두 원소(혹은 첫 번쨰 원소와 두 번째 원소)의 위치를 서로 바꾼다.

ss : sa와 sb를 동시에 실행한다.

sa 구현하기

void    ft_sa(LinkedDeque *a)
{
    int temp;

    temp = 0;
    if (a->currentElementCount <= 1)
    {
        return ;
    }
    temp = a->pRearNode->data;//top에서 2번째의 데이터 swap
    a->pRearNode->data = a->pRearNode->pLLink->data;
    a->pRearNode->pLLink->data = temp;//top노드의 데이터
}

함수 기능 : sa는 a의 가장 위 두 원소를 swap해주는 함수.

sb 구현하기

void ft_sb(LinkedDeque *b)
{
    int temp;

    temp = 0;
    if (b->currentElementCount <= 1)
    {
        return ;
    }
		temp = b->pRearNode->data;//top에서 2번째의 데이터 swap
    b->pRearNode->data = b->pRearNode->pLLink->data;
    b->pRearNode->pLLink->data = temp;//top노드의 데이터
}

함수 기능 : sb는 b의 가장 위 두 원소를 swap해주는 함수.

ss 구현하기

void ft_ss(LinkedDeque *a, LinkedDeque *b)
{
    ft_sa(a);
    ft_sb(b);
}

함수 기능 : sa와 sb를 동시에 실행하는 함수.