21xrx.com
2024-11-22 07:15:33 Friday
登录
文章检索 我的文章 写文章
C++中如何实现数据存储到栈中
2023-07-09 12:08:13 深夜i     --     --
C++ 数据存储 实现

在C++中,数据的存储方式有很多种,其中一种常用的方式就是将数据存储到栈中。栈是一种后进先出的数据结构,它能够很好地满足一些算法和程序的需要。以下将介绍在C++中如何实现数据存储到栈中。

首先,需要定义一个栈的结构体。栈结构体中需要包含一个数组,用于存储栈中的元素,以及相关的成员变量和函数。


struct Stack {

  int* arr; //栈数组

  int top;  //栈顶指针

  int capacity; //栈的容量大小

  Stack(int size) { //构造函数,初始化栈

    arr = new int[size];

    capacity = size;

    top = -1;

  }

  

  bool isEmpty()  //判断栈是否为空

    return top == -1;

  

  bool isFull()  //判断栈是否已满

    return top == capacity - 1;

  

  void push(int data) { //向栈中添加元素

    if (isFull())

      cout << "栈已满!" << endl;

      return;

    

    arr[++top] = data;

  }

  int pop() { //从栈中弹出元素

    if (isEmpty())

      cout << "栈为空!" << endl;

      return -1;

    

    return arr[top--];

  }

  int peek() { //获取栈顶元素

    if (isEmpty())

      cout << "栈为空!" << endl;

      return -1;

    

    return arr[top];

  }

  void print() { //打印栈中的元素

    if (isEmpty())

      cout << "栈为空!" << endl;

      return;

    

    for (int i = top; i >= 0; i--)

      cout << arr[i] << " ";

    cout << endl;

  }

};

然后,在程序中可以很方便地使用该栈结构体,将元素存储到栈中。


int main() {

  //初始化一个栈,容量为5

  Stack s(5);

  //向栈中添加元素

  s.push(1);

  s.push(2);

  s.push(3);

  s.push(4);

  s.push(5);

  //打印栈中的元素

  s.print();

  //从栈中弹出元素

  s.pop();

  s.pop();

  //打印栈中的元素

  s.print();

  //获取栈顶元素

  cout << "栈顶元素为:" << s.peek() << endl;

  return 0;

}

通过上述程序,我们可以看到栈结构体的使用方法。将数据存储到栈中,可以很好地管理和处理数据,满足不同的程序需求。而在C++中,实现该功能也非常简单,只需要定义一个栈结构体,并实现相关的成员函数即可。

  
  

评论区

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