뇌를자극하는 알고리즘 1-2장 스택 AS_IsFull 함수 구현

AS_Push 할 경우 현재 Stack 이 Full 인지 검사하도록 추가했다. 

 

void AS_Push(ArrayStack* Stack, ElementType Data)
{
    int Position = Stack->Top;

	/* 기존 AS_Push 함수에 AS_IsFull 함수 추가 */
    if(AS_IsFull(Stack)) 
    { 
        Stack->Nodes[Position].Data = Data;
        printf("Stack->Nodes[Position].Data : %p ", &Stack->Nodes[Position].Data);
        printf("Stack->Top: %d\n", Stack->Top);
        Stack->Top++;
    }
    else 
    {
        printf("NOTHING.\n");
    }
}

 

소스 원본은 아래와 같음.

용량이 Full 이 아니면 return 1 을 하여 AS_Push 에서 if문을 확인하도록 함. 

int AS_IsFull(ArrayStack *Stack)
{
    if(Stack->Capacity == Stack->Top)
    {
        printf("Stack Capacity is full\n");
        return 0;
    }
    else
    {
        printf("Stck capacity is Okay\n");
        return 1; 
    }
}

 

마음대로 퍼가시고~ 광고한번씩 눌러주세요 ^_^

댓글

Designed by JB FACTORY