Fortune Smiles On Me

stack_list 본문

Programming/Data Structure

stack_list

MinYeop 2014. 3. 7. 04:14

 

 

 

 

#include <stdio.h>
#include "stack_list.h"

void StackInit(Stack *pstack){
 pstack->head = NULL;
}

int SIsEmpty(Stack *pstack){
 if (pstack->head == NULL){
  return TRUE;
 }
 else
  return FALSE;
}

void Spush(Stack *pstack, int data ){
 Node* newNode = (Node*)malloc(sizeof(Node));

 newNode->data = data;
 newNode->next = pstack->head;
 pstack->head = newNode;

}

DATA Spop(Stack *pstack){
 DATA rdata;
 Node *rnode;

 if (SIsEmpty(pstack)){
  printf("memeory_shortage\n");
  exit(1);
 }

 rdata = pstack->head->data;
 rnode = pstack->head;

 pstack->head = pstack->head->next;
 free(rnode);
 return rdata;
}
DATA Speek(Stack *pstack){
 if (SIsEmpty(pstack)){
  printf("memeory_shortage\n");
  exit(1);
 }
 return pstack->head->data;
}

 

'Programming > Data Structure' 카테고리의 다른 글

queue_base  (0) 2014.03.07
stack ADT  (0) 2014.03.07