DeleteMe ) ë‚´ìš©ì�€ LinkedList ê°€ 아니ë�¼ Stackì�˜ 구현 사í•ì�¸ë�°, ë¬¸ì œ 사í•ì—�는 LinkedListë�¼ê³ 해놨네요.
~cpp
#include <iostream.h>
struct node{
int data;
node * node_pointer;
};
node * INSERT(node * head_pointer, int num);
node * DELETE(node * head_pointer);
int main()
{
//스�� 처�� 가르킨는 ��터
node * head_pointer = new node;
//처�� 가르키는 ��터를 초기화
head_pointer = NULL;
int num, choice;
//ì„ íƒ�모드
cout << "스�� 만들어�요!!\n";
cout << "1.push 2.pop 3.exit\nchoice : ";
cin >> choice;
while(choice != 3)
{
switch(choice)
{
case 1://push
cout << "push num : ";
cin >> num;
head_pointer = INSERT(head_pointer, num);
break;
case 2://pop
head_pointer = DELETE(head_pointer);
break;
}
cout << "\n스�� 만들어�요!!\n";
cout << "1.push 2.pop 3.exit\nchoice : ";
cin >> choice;
}
return 0;
}
//스�� �료를 넣는다
node * INSERT(node * head_pointer, int num)
{
node * temp = new node;
//처�으로 스�� �료를 넣�때
if(head_pointer == NULL)
{
head_pointer = temp;
head_pointer->data = num;
head_pointer->node_pointer = NULL;
}
else
{
temp->node_pointer = head_pointer;
head_pointer = temp;
head_pointer->data = num;
}
return head_pointer;
}
//스��서 �료를 지운다
node * DELETE(node * head_pointer)
{
node * temp = new node;
//스�� �료가 없� 때
if(head_pointer == NULL)
cout << "no data in stack" << "\n";
else
{
cout << "delete num : " << head_pointer->data << "\n";
temp = head_pointer;
head_pointer = head_pointer->node_pointer;
delete temp;
}
return head_pointer;
}










