📜  带有示例的C ++ STL中的成对堆栈

📅  最后修改于: 2021-06-01 01:32:41             🧑  作者: Mango

STL中的堆栈堆栈是一种具有LIFO(后进先出)工作方式的容器适配器,其中在一端添加了一个新元素,而(顶部)仅从该端删除了一个元素。

STL中的配对配对容器是在标头中定义的简单容器,标头由两个数据元素或对象组成。第一个元素称为“第一”,第二个元素称为“第二”,顺序是固定的(第一,第二)。

STL中的成对堆栈:成对堆栈在设计复杂的数据结构时非常有效。

句法:

stack> stack_of_pair;

下面是显示成对堆叠的示例:

// CPP program to demonstrate
// the working of STL stack of pairs
  
#include 
using namespace std;
  
// Print the current pair
void printPair(pair p)
{
  
    cout << "("
         << p.first << ", "
         << p.second << ") ";
}
  
// Print the Stack of Pairs
void Showstack(stack > s)
{
    while (!s.empty()) {
        printPair(s.top());
        s.pop();
    }
  
    cout << '\n';
}
  
// Driver code
int main()
{
    stack > s;
  
    s.push({ 10, 20 });
    s.push({ 15, 5 });
    s.push({ 1, 5 });
    s.push({ 5, 10 });
    s.push({ 7, 9 });
  
    cout << "Stack of Pairs: ";
    Showstack(s);
  
    cout << "\nSize of Stack of Pairs: "
         << s.size();
    cout << "\nTop of Stack of Pairs: ";
    printPair(s.top());
  
    cout << "\n\nRemoving the top pair\n";
    s.pop();
  
    cout << "Current Stack of Pairs: ";
    Showstack(s);
  
    return 0;
}
输出:
Stack of Pairs: (7, 9) (5, 10) (1, 5) (15, 5) (10, 20) 

Size of Stack of Pairs: 5
Top of Stack of Pairs: (7, 9) 

Removing the top pair
Current Stack of Pairs: (5, 10) (1, 5) (15, 5) (10, 20)

以下图像显示了成对堆叠的工作方式:

如果您希望与行业专家一起参加现场课程,请参阅《 Geeks现场课程》和《 Geeks现场课程美国》。