国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

數(shù)據(jù)結(jié)構(gòu)實(shí)驗(yàn)之棧八:棧的基本操作

2019-11-08 03:06:02
字體:
供稿:網(wǎng)友

堆棧是一種基本的數(shù)據(jù)結(jié)構(gòu)。堆棧具有兩種基本操作方式,push 和 pop。push一個(gè)值會(huì)將其壓入棧頂,而 pop 則會(huì)將棧頂?shù)?#20540;彈出。現(xiàn)在我們就來驗(yàn)證一下堆棧的使用。

Input

首先輸入整數(shù)t(1 <= t <= 10),代表測試的組數(shù),以后是 t 組輸入。 對于每組測試數(shù)據(jù),第一行輸入兩個(gè)正整數(shù) m(1 <= m <= 100)、n(1 <= n <= 1000),其中m代表當(dāng)前棧的最大長度,n代表本組測試下面要輸入的操作數(shù)。 而后的 n 行,每行的第一個(gè)字符可能是'P’或者'O’或者'A’;如果是'P’,后面還會(huì)跟著一個(gè)整數(shù),表示把這個(gè)數(shù)據(jù)壓入堆棧;如果是'O’,表示棧頂元素出棧;如果是'A',表示詢問當(dāng)前棧頂?shù)?#20540;'。

Output

 對于每組測試數(shù)據(jù),根據(jù)其中的命令字符來處理堆棧;(1)對所有的'P'操作,如果棧滿輸出'F',否則完成壓棧操作;(2)對所有的'A'操作,如果棧空,則輸出'E',否則輸出當(dāng)時(shí)棧頂?shù)?#20540;;(3)對所有的'O'操作,如果棧空,則輸出'E',否則輸出棧頂元素的值,并讓其出棧;每個(gè)輸出占據(jù)一行,每組測試數(shù)據(jù)(最后一組除外)完成后,輸出一個(gè)空行。

Example Input

25 10AP 9AP 6P 3P 10P 8AP 2O2 5P 1P 3OP 5A

Example Output

E98F835

Hint

建議: 用串的方式(%s)讀入操作字符。

#include <stdio.h>#include <string.h>int main(){	int a[105];	int t,m,n,i,top=-1,num;	char s[10];	scanf("%d",&t);	while(t--)	{        top=-1;        memset(a,0,sizeof(a));		scanf("%d%d",&m,&n);		for(i=0;i<n;i++)		{            getchar();			scanf("%s",s);			//PRintf("s:%s/n",s);			//getchar();?			if (s[0]=='P')			{				scanf("%d",&num);				if(top+1<m)				a[++top]=num;				else					printf("F/n");			}			else if(s[0]=='O')			{				if(top<=-1)				{					printf("E/n");				}				else					{						printf("%d/n",a[top]);						top--;					}			}			else if(s[0]=='A')			{				if(top<=-1)					printf("E/n");				else					printf("%d/n",a[top]);			}		}		 printf("/n");	}	return 0;}


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 方正县| 阳高县| 襄汾县| 洪江市| 兴化市| 巴楚县| 北辰区| 库伦旗| 色达县| 抚远县| 宣恩县| 崇明县| 庄河市| 锦屏县| 浦江县| 虞城县| 巧家县| 旅游| 湖州市| 潼南县| 双辽市| 广丰县| 镇康县| 瓦房店市| 林芝县| 普兰县| 武乡县| 浦江县| 界首市| 高邑县| 施甸县| 五指山市| 崇阳县| 许昌市| 孝昌县| 昆山市| 公安县| 郸城县| 德州市| 霍林郭勒市| 温州市|