#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef struct stack* sptr;
typedef struct stack {
char data;
sptr low;
sptr high;
}stack;
sptr top;
int sCnt=0;
void push(char n)
{
sptr temp;
temp = (sptr)malloc(sizeof(stack));
if (sCnt == 0)
{
top->data = n;
top->low = NULL;
top->high = NULL;
sCnt++;
}
else if (sCnt >= 1)
{
temp->data = n;
temp->low = top;
temp->high = NULL;
top->high = temp;
top = temp;
sCnt++;
}
}
void pop()
{
sptr temp;
if (sCnt == 0)
{
printf("Nothing Inside! \n");
return;
}
else if (sCnt == 1)
{
sCnt = 0;
return;
}
else
{
temp = top;
top = top->low;
free(temp);
sCnt--;
}
}
void print()
{
int i;
sptr temp;
temp = top;
printf("sCnt: %d\n",sCnt);
for (i = 0; i < sCnt; i++)
{
printf("%c\n",temp->data);
if(i+1 < sCnt)
temp=temp->low;
}
}
'자료구조' 카테고리의 다른 글
[포인터 정리] 2차원 구조체포인터를 함수에 인자로 전달 / 링크드리스트 / 해시테이블 (0) | 2019.03.11 |
---|---|
트리(Tree), 이진트리(Binary Tree) (0) | 2017.12.11 |
완전 이진트리(Complete Binary Tree) 연결리스트(Linked List)로 만들기 (0) | 2017.11.17 |
완전이진트리(Complete Binary Tree)란? (0) | 2017.11.17 |
이진트리(Binary Tree)란? - From 위키백과 (1) | 2017.11.17 |