Study

stack (double linked list로 구현)

슈라。 2008. 12. 16. 16:35

//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