5.4.1 스택 설계

스택도 연결리스트를 래핑하여 만들게요. 연결리스트 형식을 스택 형식으로 타입 재지정합니다.

#include "LinkedList.h"
typedef LinkedList EHStack;

동적으로 스택을 생성하는 함수와 소멸하는 함수를 제공합시다.

EHStack *New_EHStack();
void Delete_EHStack(EHStack *ehs);

스택에 자료를 보관하는 함수와 꺼내는 함수를 제공합시다.

void EHStack_Push(EHStack *ehs, Element data);
Element EHStack_Pop(EHStack *ehs);

스택이 빈 상태인지 확인하는 함수도 제공합시다.

int EHStack_IsEmpty(EHStack *ehs);

다음은 EHStack.h 파일의 내용입니다.

//EHStack.h
#pragma once
#include "LinkedList.h"
typedef LinkedList EHStack;
EHStack *New_EHStack();
void Delete_EHStack(EHStack *ehs);
void EHStack_Push(EHStack *ehs, Element data);
Element EHStack_Pop(EHStack *ehs);
int EHStack_IsEmpty(EHStack *ehs);