21xrx.com
2024-12-22 21:48:26 Sunday
登录
文章检索 我的文章 写文章
C++编写栈结构
2023-06-22 04:56:10 深夜i     --     --
C++ stack 数据结构 编程 实现

栈是一种常见的数据结构,比如浏览器的“后退”和“前进”功能就是使用了栈结构。C++是一门高效、强大的编程语言,可以很方便地编写栈结构。

首先,我们需要定义一个栈的类,这个类包含两个属性:一个数组和一个指向栈顶的指针。数组用来存储栈中的元素,指针用来指向最新入栈的元素。

class Stack {

public:

  Stack()

    top = -1;

  void push(int value) {

    if (isFull()) cannot push element." << endl;

      return;

    top++;

    items[top] = value;

  }

  int pop() {

    if (isEmpty())

      cout << "Stack is empty

    int item = items[top];

    top--;

    return item;

  }

  bool isEmpty()

    return top == -1;

  bool isFull()

    return top == MAX_SIZE - 1;

private:

  int top;

  int items[MAX_SIZE];

  const int MAX_SIZE = 100;

};

在这个类中,我们定义了两个核心方法:push和pop。push方法用来将元素入栈,如果栈已经满了就会输出错误信息;pop方法用来从栈中弹出元素,如果栈已经为空也会输出错误信息。我们还定义了两个辅助方法:isEmpty和isFull,分别用来判断栈是否为空和栈是否已满。

接下来,我们可以在程序中实例化这个类,然后进行栈的操作。

int main() {

  Stack s;

  s.push(10);

  s.push(20);

  s.push(30);

  cout << s.pop() << endl; // 输出30

  cout << s.pop() << endl; // 输出20

  cout << s.pop() << endl; // 输出10

  cout << s.pop() << endl; // 输出错误信息,因为栈已经为空

  return 0;

}

在这个程序中,我们实例化了一个Stack类的对象s,然后使用push方法将三个元素入栈。接着,我们使用pop方法弹出了三个元素,并且在栈为空时再次使用pop方法时也会输出错误信息。

总之,使用C++编写栈结构很简单。通过类的定义和实例化,我们可以方便地对栈进行操作。通过这种方式,我们可以更好地理解栈的概念和使用方法,为日后更加复杂的数据结构和算法打下坚实的基础。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复