21xrx.com
2024-12-22 22:41:10 Sunday
登录
文章检索 我的文章 写文章
C++中的队列和栈:使用与实现
2023-07-05 03:48:34 深夜i     --     --
C++ 队列 使用 实现

队列和栈是C++中最常见的数据结构之一,它们被广泛应用于各种算法和程序中。但是,很多C++初学者对队列和栈的使用和实现还存在很多问题。本文将为大家介绍C++中队列和栈的使用和实现。

一、队列的使用和实现

1. 队列的概念

队列是一种特殊的线性表,只允许在一端进行插入操作,在另一端进行删除操作,这种操作叫做先进先出(FIFO),即队列的名字。

2. 队列的实现

在C++中,可以使用STL库中的queue类来实现队列。queue类是一个模板类,它提供了在队列尾部插入元素和在队列头部删除元素的操作。

下面是一个使用queue实现队列的例子:


#include <queue>

using namespace std;

int main() {

  queue<int> q;

  q.push(1);     // 在队列尾部插入元素1

  q.push(2);     // 在队列尾部插入元素2

  q.push(3);     // 在队列尾部插入元素3

  cout << q.front(); // 输出队列头部元素,即1

  q.pop();      // 在队列头部删除元素1

  cout << q.front(); // 输出队列头部元素,即2

  q.pop();      // 在队列头部删除元素2

  cout << q.front(); // 输出队列头部元素,即3

  q.pop();      // 在队列头部删除元素3

  return 0;

}

二、栈的使用和实现

1. 栈的概念

栈是一种特殊的线性表,只允许在一端进行插入和删除操作,这一端称为栈顶,对栈顶的插入和删除操作一般称为进栈和出栈。栈的特点是后进先出(LIFO),即后进入栈的元素先被访问。

2. 栈的实现

在C++中,可以使用STL库中的stack类来实现栈。stack类也是一个模板类,它提供了在栈顶插入元素和在栈顶删除元素的操作。

下面是一个使用stack实现栈的例子:


#include <stack>

using namespace std;

int main() {

  stack<int> s;

  s.push(1);     // 在栈顶插入元素1

  s.push(2);     // 在栈顶插入元素2

  s.push(3);     // 在栈顶插入元素3

  cout << s.top();  // 输出栈顶元素,即3

  s.pop();      // 在栈顶删除元素3

  cout << s.top();  // 输出栈顶元素,即2

  s.pop();      // 在栈顶删除元素2

  cout << s.top();  // 输出栈顶元素,即1

  s.pop();      // 在栈顶删除元素1

  return 0;

}

总结:

队列和栈是C++中最常用的数据结构之一,实现简单,应用广泛。本文介绍了C++中使用STL库中queue和stack类来实现队列和栈的操作,通过实例代码,你可以很好的掌握它们的使用和实现方法。

  
  

评论区

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