자료구조

    두 개의 스택을 이용한 큐 구현

    한번 나에게 그런 문제가 주어진 적이 있었다. 스택(Stack)을 이용하여 큐(Queue)를 구현하라. 힌트는 두 개의 스택을 이용하라. 그런데 도무지 그날따라 머리속에 로직이 떠오르지가 않는 것이었다. 로직, 알고리즘이 떠오르지 않는 날은 최선책이 잘 떠오르지 않을 때가 있다. 그래서 나는 내가 문제를 푸는 과정이 조금 미숙할 때가 있지 않은가 싶다. 체계적으로 문제의 해법에 대해 접근해가야 하는데 그렇지 못한 점이 있는 것이다. 오늘 문득 그 문제를 생각하다보니 참 간단하다. * 두 개의 스택을 이용한 구현 중요한 점은 쌓아진 스택을 그대로 빼서 다시 스택에 쌓으면 큐의 형태로 빼낼 수 있게 됀다. 즉, 첫 번째 스택은 push()만을 담당하고, 두 번째 스택은 pop()만을 담당한다. - 첫 번째 ..

    [VC++] 더블 링크드 리스트

    /* * Author : Chang-Hwan Han * Date : 2010. * Description : double linked list */ #include "stdio.h" #include "stdlib.h" #include "string.h" typedef struct node { char* szName; struct node* prevNode; struct node* nextNode; }Node; Node* __insertNode(Node *pNode); Node* __deleteNode(Node *pNode); void __printNode(Node *pNode); void __freeNode(Node *pNode); void __freeNodeAll(Node *pNode); void mai..