瓦力


私信TA

用户名:wang2012jx

访问量:14618

签 名:

三十入门

等  级
排  名 486
经  验 4659
参赛次数 3
文章发表 42
年  龄 0
在职情况 在职
学  校 清华大学
专  业

  自我简介:

解题思路:

注意事项:

参考代码:

#include<stdio.h>
#include<stdlib.h>
typedef struct node{
	int data;
	struct node *next;
}node;
node *head;
void pop();
void push(int a);
void stack_a();
int main()
{
	int n,i,a,count=0;
	char ch[2];
	while(scanf("%d",&n)&&n)
	{
	    head=NULL;
		for(i=0;i<n;i++)
		{
			scanf("%s",ch);
			if(ch[0]=='P')
			{
				scanf("%d",&a);
				push(a);
				count++;
			}
			else if(ch[0]=='O')
			{
				if(count!=0)
				{
					pop();
					count--;
				}
				else
				count=0;
				
			
			}
			else if(ch[0]=='A')
			{
				stack_a();
			}
		}
		printf("\n");
	}
	
}

void push(int a)
{
	node *p;
	p=(node*)malloc(sizeof(node));
	if(head==NULL)
	{
		p->data=a;
		p->next=NULL;
		head=p;
	}
	else
	{
		p->data=a;
		p->next=head;
		head=p;
	}

}

void pop()
{
	node *p;
	//p=(node*)malloc(sizeof(node));
	if(head!=NULL)
	{
		p=head;
		head=head->next;
		free(p);
	}
//	else printf("\n");
	
}
void stack_a()
{
	node *p;
	p=head;
	if(head==NULL)
	printf("E\n");
	else
	printf("%d\n",p->data);
	
}


 

0.0分

0 人评分

  评论区

  • «
  • »