C++——数据结构stack,queue,priority_queue

栈的底层与使用

1.堆栈是计算机科学中的一种抽象数据类型,只允许在有序的线性数据集合的一端(称为堆栈顶端,top)进行插入数据(PUSH)和删除数据(POP)的运算。

2.特点:stack是一种容器适配器   支持后进先出  无迭代器

3.stack的底层容器需要支持如下操作:

  1. empty(判空)
  2. size(返回有效数据个数)
  3. push(队尾插入)
  4. pop (队尾删除)
  5. top(返回对头元素)

4.stack的底层可以是vector , list , deque(双端队列),默然情况是deque

底层实现:

namespace bit
{
	template< typename T, typename Container = deque<T> >// 适配器模式 + 类模版
	class stack
	{
	public:
		void push(const T& x)
		{
			_com.push_back(x);
		}
		bool empty()
		{
			return _com.empty();
		}
		void pop()
		{
			_com.pop_back();
		}
		size_t size()
		{
			return _com.size();
		}
		T& top()
		{
			return _com.back();
		}
		
	private:
		Container _com;
	};
}

队列的底层与使用

1.队列是一种容器适配器,专门适用于先进先出操作,从一段提取元素,一端插入元素

2.队列的底层容器需要支持以下操作

  1. size
  2. empty
  3. push
  4. pop
  5. front
  6. back

3.queue的底层可以是list , deque ,默然情况是deque

底层实现:

	template< typename T, typename Container = deque<T> >
	class queue
	{
	public:
		void push(const T& x)
		{
			_com.push_back(x);
		}
		bool empty()
		{
			return _com.empty();
		}
		void pop()
		{
			_com.pop_back();
		}
		size_t size()
		{
			return _com.size();
		}
		T& top()
		{
			return _com.back();
		}
		
	private:
		Container _com;
	};

优先级队列

相关推荐

  1. 数据结构C

    2024-05-01 07:30:06       49 阅读
  2. C++ 数据结构

    2024-05-01 07:30:06       42 阅读
  3. 数据结构-树(C++)

    2024-05-01 07:30:06       60 阅读
  4. C:数据结构王道

    2024-05-01 07:30:06       47 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-01 07:30:06       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-01 07:30:06       101 阅读
  3. 在Django里面运行非项目文件

    2024-05-01 07:30:06       82 阅读
  4. Python语言-面向对象

    2024-05-01 07:30:06       91 阅读

热门阅读

  1. 语言模型:智能化未来的钥匙

    2024-05-01 07:30:06       24 阅读
  2. 在C++中初始化二维数组的几种不同方法

    2024-05-01 07:30:06       32 阅读
  3. Ubuntu22.04 私钥登录

    2024-05-01 07:30:06       104 阅读
  4. 常用网络知识点(网管网工需掌握)

    2024-05-01 07:30:06       26 阅读
  5. 关于chatgpt的理解与探索

    2024-05-01 07:30:06       31 阅读
  6. 移动端适配方案

    2024-05-01 07:30:06       35 阅读
  7. Go语言中的map使用及并发安全

    2024-05-01 07:30:06       42 阅读
  8. VUE2从入门到精通(一)

    2024-05-01 07:30:06       28 阅读