//stack.h
#ifndef STACK_DEFINE
#define STACK_DEFINE
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include "DoubleLinkedList.h"
int Push(NODE ** ppTop,NODE ** ppBottom,void * pData);
int Peek(NODE ** ppTop,NODE ** ppBottom,void ** ppData);
int Pop(NODE ** ppTop,NODE ** ppBottom,void ** ppData);
#endif
//stack.cpp
#include "Stack.h"
int Push(NODE ** ppTop,NODE ** ppBottom,void * pData)
{
InsertTop(ppTop,ppBottom,pData);
return 1;
}
int Peek(NODE ** ppTop,NODE ** ppBottom,void ** ppData)
{
if (*ppTop == NULL)
{
return 0;
}
*ppData = (*ppTop)->m_pData;
return 1;
}
int Pop(NODE ** ppTop,NODE ** ppBottom,void ** ppData)
{
if (Peek(ppTop,ppBottom,ppData))
{
DeleteTop(ppTop,ppBottom);
return 1;
}
return 0;
}
'Study' 카테고리의 다른 글
tree(queue로 구현) (0) | 2008.12.16 |
---|---|
queue(double linked list로 구현) (0) | 2008.12.16 |
double linked list (0) | 2008.12.16 |
malloc 사용 예 (0) | 2008.12.16 |
함수 포인터 사용 예 (0) | 2008.12.16 |