/*
#include <stdlib.h>
int main()
{
printf("Hello world!\n");
return 0;
}
*/
/*
#include <stdio.h>
int main()
{
char str[21]={};
int i;
scanf("%s",str);
for(i=strlen(str)-1;i>=0;i--)
{
printf("%c",str[i]);
}
return 0;
}
*/
/*
#include <stdio.h>
int main()
{
int i;
char str[101]={};
scanf("%s",str);
for(i=0;i<=strlen(str)-1;i++)
{
if(str[i]==',')
{
printf(" ");
}
else
{
printf("%c",str[i]);
}
}
return 0;
}
자료구조 Data Structure
Alevel 스택, 큐, 정렬
Blevel 이분탐색, dfs/bfs
Clevel 트리, 연결리스트, (알고리즘) DP, Greedy ...
Stack : 엘리베이터 (쌓는거)
Queue : 에스컬레이터
Quest. 문제점을 찾고 고치시오, 그리고 선생님께 설명하시오
*/
//아직 함수 안 됨
#include <stdio.h>
int stack[500]={};
int top=-1; // top : 마지막 데이터의 위치
int a,menu;
void push()
{
printf("stack에 push할 값을 입력하세요>> ");
scanf("%d",&a);
// 1. 스택에 a값 push
top++;
stack[top]=a;
view();
}
void view()
{
printf("stack : ");
for(int i=0;i<=top;i++)
printf("%d ",stack[i]);
printf("\ntop : %d\n",top);
}
//void pop() // 맨위의값 print만 해주는 pop
//{
// //3. 스택에서 pop하기 (스택이 비어있는가?????????)
// if(top>-1){
// printf("pop한 데이터는 %d \n",stack[top]);
// top--;
// }
//}
// !!!!!!!!!!!!!!!!!리턴값이 있는 pop만들기!!!!!!!!!!!!!!!!!
void clear()
{
while(top != -1) // 스택이 비어있지 않은 동안
{
printf("pop한 데이터는 %d \n",stack[top]);
top--;
}
printf("stack clear... ");
view();
}
int main()
{
while(1){
printf("1.push 2.pop 3.view 4.stack비우기 >> ");
scanf("%d",&menu);
else if(menu==3){
//2. 스택에 있는 모든 데이터 보여주기
view();
}
if(menu==1)
{
push();
}
else if(menu==2){
pop;
view();
}
else if(menu==4)
{
clear();
}
}
return 0;
}