堆疊的使用

2021-08-28 12:16:25 字數 966 閱讀 4339

堆疊是一種基本的資料結構。堆疊具有兩種基本操作方式,push 和 pop。push乙個值會將其壓入棧頂,而 pop 則會將棧頂的值彈出。現在我們就來驗證一下堆疊的使用。

對於每組測試資料,第一行是乙個正整數 n,0對於每組測試資料,根據其中的命令字元來處理堆疊;並對所有的'a』操作,輸出當時棧頂的值,每個佔據一行,如果當時棧為空,則輸出'e』。當每組測試資料完成後,輸出乙個空行。

5

p 75oo

p 60a7

aop 73

p 49ao

p 30

60

e49

code:

#include

#include

#define stack_size 1

typedef struct

stack;//堆疊

void initstack(stack *s);//建立堆疊

void push(stack *s, int elem);//向堆疊中存入資料

void gettop(stack *s);//輸出棧頂資料

int pop(stack *s);//彈出棧頂資料

int main()

else if (c[0] == 'o')

else if (c[0] == 'a')

}printf("\n");

}return 0;

}void initstack(stack *s)

s->top = s->base;

s->stacksize = stack_size;

}void push(stack *s, int elem)

if (!s->base)

*(s->top++) = elem;

}void gettop(stack *s)

else

}int pop(stack *s)

else

}

堆疊的使用

題目描述 堆疊是一種基本的資料結構。堆疊具有兩種基本操作方式,push 和 pop。push乙個值會將其壓入棧頂,而 pop 則會將棧頂的值彈出。現在我們就來驗證一下堆疊的使用。輸入 對於每組測試資料,第一行是乙個正整數 n,0 輸出 對於每組測試資料,根據其中的命令字元來處理堆疊 並對所有的 a ...

堆疊的使用

堆疊是一種基本的資料結構。堆疊具有兩種基本操作方式,push 和 pop。push乙個值會將其壓入棧頂,而 pop 則會將棧頂的值彈出。現在我們就來驗證一下堆疊的使用。對於每組測試資料,第一行是乙個正整數 n,0 對於每組測試資料,根據其中的命令字元來處理堆疊 並對所有的 a 操作,輸出當時棧頂的值...

堆疊的使用

一道acm的堆疊題,幾乎讓我複習了一晚上的資料結構,果斷ac了,上 題目描述 堆疊是一種基本的資料結構。堆疊具有兩種基本操作方式,push 和 pop。push乙個值會將其壓入棧頂,而 pop 則會將棧頂的值彈出。現在我們就來驗證一下堆疊的使用。輸入 對於每組測試資料,第一行是乙個正整數 n,0 輸...