데이터 구조 실험의 창고 8: 창고 의 기본 조작 간단 한 방법
Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic
Problem Description
스 택 은 기본 적 인 데이터 구조 이다.스 택 은 두 가지 기본 조작 방식 을 가지 고 있 습 니 다. push 화해시키다 pop。push 값 은 스 택 꼭대기 에 눌 러 줍 니 다. pop 창고 꼭대기 의 값 을 팝 업 합 니 다.이제 창고 의 사용 을 검증 해 보 겠 습 니 다.
Input
먼저 정수 t (1 < = t < = 10) 를 입력 하고 테스트 의 그룹 수 를 대표 하 며 그 다음 에는 t 그룹 입력. 각 그룹의 테스트 데이터 에 대해 첫 줄 에 두 개의 정수 를 입력 하 다 m (1 < = m < = 100), n (1 < = n < = 1000), 그 중에서 m 는 현재 창고 의 최대 길 이 를 대표 하고 n 은 본 그룹의 테스트 아래 입력 할 조작 수 를 대표 한다. 이후 의 n 줄, 각 줄 의 첫 번 째 문 자 는 'P' 또는 'O' 또는 'A' 일 수 있 습 니 다. 'P' 라면 뒤에 하나의 정수 가 따라 이 데 이 터 를 스 택 에 넣 는 것 을 표시 합 니 다. 'O' 라면 스 택 꼭대기 요소 가 스 택 에서 나 오 는 것 을 의미 합 니 다. 'A' 라면 현재 스 택 꼭대기 의 값 을 묻 는 것 을 의미 합 니 다.
Output
각 그룹의 테스트 데이터 에 대해 그 중의 명령 문자 에 따라 스 택 을 처리 합 니 다. (1) 모든 'P' 작업 에 대해 스 택 이 가득 차 면 'F' 를 출력 합 니 다. 그렇지 않 으 면 스 택 작업 을 완성 합 니 다. (2) 모든 'A' 작업 에 대해 스 택 이 비어 있 으 면 'E' 를 출력 합 니 다. 그렇지 않 으 면 스 택 꼭대기 의 값 을 출력 합 니 다. (3)모든 'O' 작업 에 대해 스 택 이 비어 있 으 면 'E' 를 출력 합 니 다. 그렇지 않 으 면 스 택 상단 요소 의 값 을 출력 하고 스 택 에서 나 오 게 합 니 다. 모든 출력 은 한 줄 을 차지 하고 각 그룹 테스트 데이터 (마지막 그룹 제외) 가 완 료 된 후에 빈 줄 을 출력 합 니 다.
Example Input
25 10AP 9AP 6P 3P 10P 8AP 2O2 5P 1P 3OP 5A
Example Output
E98F835
Hint
#include
#include
using namespace std;
typedef struct
{
int *base,*top,size;
} stack;
int T,n,m;
void Initstack(stack &s,int m)
{
s.base=new int [1010];
s.top=s.base;
s.size=m;
}
int empty(stack &s)
{
if(s.top==s.base)
return 1;
else
return 0;
}
int gettop(stack &s)
{
int e=*(s.top-1);
return e;
}
void Push(stack &s,int e)
{
*s.top++=e;
}
int Pop(stack &s)
{
int e=*--s.top;
return e;
}
void OP(stack &s,int n)
{
char a[110];
for(int i=0; i>t;
if(s.top-s.base>=s.size)
cout<>T;
while(T--)
{
cin>>m>>n;
Initstack(s,m);
OP(s,n);
cout<
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.