[C언어 자료구조] 5.3 스택 테스트
[C언어 자료구조] 5.3 스택 테스트
스택을 테스트하는 코드를 작성합시다.
int main()
{
EHStack *ehs = 0;
Book *book = 0;
먼저 스택을 동적으로 생성합니다.
ehs = New_EHStack();
적당히 자료를 스택에 보관합니다. 여기에서는 세 개의 도서를 보관할게요.
EHStack_Push(ehs,New_Book("C언어","홍길동",10));
EHStack_Push(ehs,New_Book("C++언어","강감찬",20));
EHStack_Push(ehs,New_Book("자료구조","김구",5));
이제 하나의 자료를 꺼내어 봅시다. 가장 최근에 보관한 자료는 "자료구조"입니다.
book = (Book *)EHStack_Pop(ehs);
if(book)
{
Book_View(book);
Delete_Book(book);
}
두 개의 도서 정보를 추가로 보관할게요.
EHStack_Push(ehs,New_Book("알고리즘","이순신",9));
EHStack_Push(ehs,New_Book("디자인패턴","정약용",13));
스택이 비어있지 않다면 반복해서 보관한 도서를 꺼내와 출력할게요. 스택은 LIFO 방식으로 자료를 꺼내주므로 "디자인 패턴", "알고리즘", "C++언어", "C언어" 순으로 출력하면 정상적으로 동작하는 것입니다.
while( ! EHStack_IsEmpty(ehs))
{
book = (Book *)EHStack_Pop(ehs);
if(book)
{
Book_View(book);
Delete_Book(book);
}
}
Delete_EHStack(ehs);
return 0;
}
이상으로 스택 구현을 마칠게요.