C++学习:stack

1.stack的定义和结构

stack是一种后进先出(LIF0)的数据结构,使用前需要包含头文件,stack提供了一组函数来操作和访问元素,但它的功能相对较简单。stack的定义和结构如下(仅作了解即可):

template>
class stack;

T:表示存储在stack中的元素的类型。
Container:表示底层容器的类型,默认为deque。也可以使用其他容器类型,如vector或list。
stack的内部实现使用了底层容器来存储元素,并且只能通过特定的函数来访问和操作元素。

C++学习:stack_第1张图片

只能对栈顶元素进行操作,只能把元素放在栈顶来

2.stack的常用函数

C++学习:stack_第2张图片

小tips:如果将一个数组的元素依次放入栈,再依次取出,则可以将数组翻转

stack不能遍历

3.代码示例

#include 
#include
#include
using namespace std;
int main() {
	stack mystack;
	// 向栈中插入元素
	mystack.push(10);
	mystack.push(20);
	mystack.push(30);
	mystack.push(40);
	// 获取栈顶元素
	cout << "栈顶元素:" << mystack.top() << endl;
	// 弹出栈顶元素
	mystack.pop();
	// 再次获取栈顶元素
	cout << "弹出一个元素后的栈顶元素:" << mystack.top() << endl;
	// 检查栈是否为空
	if (mystack.empty()) {
		cout << "栈为空" << endl;
	}
	else {
		cout << "栈不为空" << endl;
	}
			// 获取栈的大小
			cout << "栈的大小:" << mystack.size() << endl;
		return 0;

	}

你可能感兴趣的:(C++算法,c++,学习,java,开发语言,算法)