언어 자료구조 알고리즘/디딤돌 자료구조 (C언어)

[C언어 자료구조] 4.3 큐 테스트

언제나휴일 2016. 11. 26. 13:06
반응형

[C언어 자료구조] 4.3 큐 테스트


 큐를 테스트하는 코드를 작성합시다.

int main()

{

    EHQueue *ehq = 0;

    Book *book = 0;

 먼저 동적으로 큐를 생성합니다.

    ehq = New_EHQueue();

 그리고 큐에 자료를 보관합니다.

    EHQueue_Put(ehq,New_Book("C언어","홍길동",10));

    EHQueue_Put(ehq,New_Book("C++언어","강감찬",20));

    EHQueue_Put(ehq,New_Book("자료구조","김구",5));

 이 상태에서 꺼내면 가장 먼저 보관한 "C언어" 제목의 도서여야 합니다. 이를 확인해 봅시다.

    book = (Book *)EHQueue_Get(ehq);

    if(book)

    {

        Book_View(book);

        Delete_Book(book);

    }

 두 개의 도서를 더 보관할게요.

    EHQueue_Put(ehq,New_Book("알고리즘","이순신",9));

    EHQueue_Put(ehq,New_Book("디자인패턴","정약용",13));

 큐가 비지 않으면 반복해서 꺼내와 도서 정보를 출력합시다. 제대로 작성했다면 "C++언어", "자료구조", "알고리즘", "디자인패턴" 순으로 출력할 것입니다.

    while( ! EHQueue_IsEmpty(ehq))

    {

        book = (Book *)EHQueue_Get(ehq);

        if(book)

        {

            Book_View(book);

            Delete_Book(book);

        }

    }

 마지막으로 큐를 소멸합니다.

    Delete_EHQueue(ehq);

    return 0;

}

반응형