您的位置:首页 > 大数据 > 人工智能

【STL基础01】HDU-1702-ACboy needs your help again!

2018-01-30 14:16 453 查看
题目来源:https://cn.vjudge.net/problem/HDU-1702



题目大意:

编程实现栈(stack)和队列(queue)。

解题思路:

栈(先进后出),队列(先进先出)。

AC代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 100
#define M 10
void FIFO(char *q, int m, int *ff);
void FILO(char *q, int m, int *fl);

int main()
{
int n, r, m, fifo
, filo
;
char qu[M], re[M];
scanf("%d",&n);
for (r=0;r<n;r++)
{
scanf("%d %s",&m,qu);
if (!strcmp(qu,"FIFO"))
{
FIFO(re,m,fifo);
}
else
{
FILO(re,m,filo);
}
}
return 0;
}

void FIFO(char *q, int m, int *ff)
{
int i, j, k;
for (i=0,j=0,k=0;i<m;i++)
{
scanf("%s",q);
if (!strcmp(q,"IN"))
{
if (j==N)
{
j = 0;
}
scanf("%d",&ff[j]);
j++;
}
else
{
if (k==N)
{
k = 0;
}
if (k==j)
{
printf("None\n");
}
else
{
printf("%d\n",ff[k]);
}
k++;
}
}
}

void FILO(char *q, int m, int *fl)
{
int i, j;
for (i=0,j=0;i<m;i++)
{
scanf("%s",q);
if (!strcmp(q,"IN"))
{
scanf("%d",&fl[j]);
j++;
}
else
{
if (!j)
{
printf("None\n");
}
else
{
printf("%d\n",fl[j-1]);
j--;
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: