/*
#include<stdio.h>
#include<string.h>
int stack[201]={};
int top=-1;
void push(int data)
{
top++;
stack[top]=data;
}
int pop()
{
return stack[top--];
}
int main()
{
char a[201]={};
int i, j, b, c, d, num=0;
gets(a);
b=strlen(a);
for(i=0;i<b;i++)
{
//123 12 +
if('0'<=a[i] && a[i]<='9')
{
num=num*10+(a[i]-'0');
if(a[i+1]==' ')
{
push(num);
num=0;
}
}
else if(a[i]==' ') continue;
else
{
c=pop();
d=pop();
if(a[i]=='+')push(c+d);
else if(a[i]=='-')push(d-c);
else push(c*d);
}
}
printf("%d", stack[top]);
}*/
/*
#include <stdio.h>
int queue[50];
int front=-1, rear=-1;
// front : 마지막으로 나간 데이터의 위치
// rear : 마지막으로 들어온 데이터의 위치 (stack의 top)
//front를 증가시키면서 데이터 빼기, rear를 증가시키면서 데이터 넣기
void enq(int data)
{
rear++;
queue[rear]=data;
}
int deq()
{
if(front!=rear){
front++;
return queue[front];
}
}
void view()
{
printf("queue>> ");
for(int i=front+1; i<=rear;i++){
printf("%d ",queue[i]);
}
printf(" front : %d, rear : %d\n",front,rear);
}
int main()
{
int a, b, c, d, e;
while(1)
{
printf("1. enq 2. deq 3.view 4. exit >> ");
scanf("%d",&a);
if(a==1)
{
printf("입력할 데이터는?? ");
scanf("%d",&b);
enq(b);
}
else if(a==2)
{
if(front==rear) printf("큐가 비었습니다 .\n");
else printf("deq 데이터는 : %d입니다\n",deq());
}
else if(a==3)
{
view();
}
else printf("1. push 2. pop 3.view 4. exit >> ");
{
printf("프로그램을 종료합니다.. \n");
break;
}
}
}
stack으로 프로그램 만들기 !
printf("1. push 2. pop 3.view 4. exit >> ");
#include<stdio.h>
int stack[1001]={};
int top=-1;
void push(int data)
{
top++;
stack[top]=data;
}
int pop()
{
if(top!=-1) return stack[top--];
}
void view()
{
int i;
printf("\nstack >>> ");
for(i=0;i<=top;i++)
{
printf("%d ", stack[i]);
}
printf("\ntop:%d", top);
}
int main()
{
int a, b, c, d, e;
while(1)
{
printf("\n1. push 2. pop 3.view 4. exit>> ");
scanf("%d", &a);
if(a==1)
{
printf("\n데이터를 입력하세요:");
scanf("%d", &b);
push(b);
}
else if(a==2)
{
if(top==-1)printf("\n스택이 비어있습니다");
else
{
printf("pop데이터:%d", stack[top]);
pop();
}
}
else if(a==3)
{
view();
}
else if(a==4)
{
printf("프로그램을 종료합니다....");
break;
}
}
}
버블 정렬
#include <stdio.h>
int a[10001];
int n, i, j, temp;
int main() {
scanf("%d", &n);
for (i=1; i<=n; i++)
scanf("%d", &a[i]);
for(i=1; i<n; i++)
{
for(j=1;j<=n-i;j++)
{
if (a[j] > a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
for (i = 1; i <= n; i++)
printf("%d\n", a[i]);
return 0;
}*/
/*
#include<stdio.h>
int main()
{
int n, i, j, temp;
int a[101]={};
scanf("%d", &n);
for(i=1;i<=n;i++)
{
scanf("%d", &a[i]);
}
for(i=1;i<n;i++)
{
for(j=1;j<=n-i;j++)
{
if(a[j]<a[j+1])
{
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}
}
}
for(i=1;i<=n;i++)
{
printf("%d ", a[i]);
}
return 0;
}*/



