[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;
}
이상으로 스택 구현을 마칠게요.
'언어 자료구조 알고리즘 > 디딤돌 자료구조 (C언어)' 카테고리의 다른 글
[C언어 자료구조] 6.3 이진 탐색 트리 소스 코드 (0) | 2016.11.27 |
---|---|
[C언어 자료구조] 6.2 이진 탐색 트리 구현 (0) | 2016.11.27 |
[C언어 자료구조] 6.1 이진 탐색 트리 설계 (0) | 2016.11.27 |
[C언어 자료구조] 6. 이진 탐색 트리(Binary Search Tree) (4) | 2016.11.27 |
[C언어 자료구조] 5.4 스택 소스 코드 (0) | 2016.11.26 |
[C언어 자료구조] 5.2 스택 구현 (0) | 2016.11.26 |
[C언어 자료구조] 5.1 스택 설계 (0) | 2016.11.26 |
[C언어 자료구조] 5. 스택(Stack) (1) | 2016.11.26 |
[C언어 자료구조] 4.4 큐 소스 코드 (0) | 2016.11.26 |
[C언어 자료구조] 4.3 큐 테스트 (0) | 2016.11.26 |