堆疊是一種基本的資料結構。堆疊具有兩種基本操作方式,push 和 pop。push乙個值會將其壓入棧頂,而 pop 則會將棧頂的值彈出。現在我們就來驗證一下堆疊的使用。
對於每組測試資料,第一行是乙個正整數 n,0對於每組測試資料,根據其中的命令字元來處理堆疊;並對所有的'a』操作,輸出當時棧頂的值,每個佔據一行,如果當時棧為空,則輸出'e』。當每組測試資料完成後,輸出乙個空行。
5p 75oo
p 60a7
aop 73
p 49ao
p 30
60code:e49
#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 輸...