#include
int queue[1001]={0};
int front=-1;
int rear=-1;
void enqueue(int data)
{
rear++;
queue[rear]=data;
}
int dequeue()
{
front++;
return queue[front];
}
int main()
{
int a,b,i,n;
printf("Queue 프로그램입니다\n\n");
while(1)
{
printf("1.enqueue 2. dequeue 3. view >>");
scanf("%d",&a);
if(a==1){
printf("enqueue할 데이터를 적으세요 >> ");
scanf("%d",&b);
enqueue(b);
}
else if(a==2){
if(front==rear){
//큐 비어있다고 출력
printf("queue가 비어 있습니다.\n");
}
else
{
//deq한 데이터 출력
printf("dequeue한 데이터는 %d 입니다.\n'",dequeue());
}
}
else if(a==3)
{
if(front==rear){
printf("queue가 비어있습니다.\n");
}
else
{
printf("queue [ ");
for (int i=front+1 ; i<=rear;i++)
{
printf("%d ",queue[i]);
}
printf("]\n");
}
}
}
return 0;
}
메모이제이션
arr[i] : i번째 입력된 데이터 (x)
arr[i] : i에 대한 정보 ( i가 입력된 횟수 )
1093번 참고
*/
#include
int main()
{
int a,t=0,i=0,j=0,arr[100001]={};
scanf("%d",&a);
for(i=1;i<=a;i++)
{
scanf("%d",&t);
arr[t]++;
}
//i를 arr[i]번 출력--> for문 2개
for(i=0;i<=100000;i++)
{
for(j=1;j<=arr[i];j++)
{
printf("%d ",i);
}
}
return 0;
}