本文主要是介绍C++实现顺序栈类的定义,编写main ()函数验证顺序栈类设计的合理性,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
C++实现顺序栈类的定义,编写main ()函数验证顺序栈类设计的合理性
以下是一个简单的C++代码示例,用于实现顺序栈类的定义并编写main()函数来验证其合理性:
#include <iostream>
using namespace std;const int MAX_SIZE = 100; // 定义栈的最大容量class SeqStack {
private:int top; // 栈顶指针int data[MAX_SIZE]; // 存储栈元素的数组
public:SeqStack() { // 构造函数,初始化栈顶指针top = -1;}bool isEmpty() { // 判断栈是否为空return top == -1;}bool isFull() { // 判断栈是否已满return top == MAX_SIZE - 1;}void push(int item) { // 元素入栈if (isFull()) {cout << "Stack is full. Cannot push element." << endl;} else {data[++top] = item;}}int pop() { // 元素出栈if (isEmpty()) {cout << "Stack is empty. Cannot pop element." << endl;return -1;} else {return data[top--];}}int peek() { // 返回栈顶元素if (isEmpty()) {cout << "Stack is empty. No element to peek." << endl;return -1;} else {return data[top];}}
};int main() {SeqStack stack;// 验证顺序栈类的设计stack.push(10);stack.push(20);stack.push(30);cout << "Peek: " << stack.peek() << endl;cout << "Pop: " << stack.pop() << endl;cout << "Pop: " << stack.pop() << endl;cout << "Pop: " << stack.pop() << endl;cout << "Is empty? " << (stack.isEmpty() ? "Yes" : "No") << endl;return 0;
}
这段代码实现了一个顺序栈类(SeqStack),其中包含了常用的栈操作函数,如入栈(push)、出栈(pop)、判断栈是否为空(isEmpty)以及返回栈顶元素(peek)等。在main()函数中,我们对顺序栈类进行了简单的测试和验证。
这篇关于C++实现顺序栈类的定义,编写main ()函数验证顺序栈类设计的合理性的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!