c++标准模板库_容器适配器 _Stacks(堆栈)详解

1 C++ Stacks(堆栈)

    C++ Stack(堆栈) 是一个容器类的改编,为程序员提供了堆栈的全部功能,——也就是说实现了一个先进后出(FILO)的数据结构。

    1.1 操作

    语法:   ==
    <=
    >=
    <
    >
    !=
    所有的这些操作可以被用于堆栈. 相等指堆栈有相同的元素并有着相同的顺序。

    1.2 empty

    语法:   bool empty();
    如当前堆栈为空,empty() 函数 返回 true 否则返回false.

    1.3 pop

    语法:   void pop();
    pop() 函数移除堆栈中最顶层元素。

    1.4 push

    Syntax:   void push( const TYPE &val );
    push() 函数将 val 值压栈,使其成为栈顶的第一个元素。如:
    stack<int> s;
    for( int i=0; i < 10; i++ )
    s.push(i);

    1.5 size

    语法:   size_type size();
    size() 函数返当前堆栈中的元素数目。如:
    stack<int> s;
    for( int i=0; i < 10; i++ )
    s.push(i);
    cout << "This stack has a size of " << s.size() << endl;

   1.6  top

    语法:    TYPE &top();
    top() 函数返回对栈顶元素的引用. 举例,如下代码显现和清空一个堆栈。
    while( !s.empty() ) {
    cout << s.top() << " ";
    s.pop();

    }

举例:

#include <iostream>
#include<stack>
using namespace std;


//Stack  堆栈的打印
void printStack(stack<int>& s)
{
	while (!s.empty()) {
		cout << s.top() << " ";
		s.pop();
	}

}

void main(){
	stack<int> s;
	for (int i = 0; i < 10; i++)
		s.push(i);
	cout << "This stack has a size of " << s.size() << endl;
	printStack(s);
	printf("hello...\n");
	system("pause");
	return;
}
结果:


你可能感兴趣的:(c++标准模板库_容器适配器 _Stacks(堆栈)详解)