网站自然排名往后掉,英文写作网站,wordpress分享到微博,公司注册的流程与步骤序言 我们平常写广搜什么#xff0c;上来就是一句 queueXXX qu; 说明队列时很重要的。 STL库中的queue把队列的各种操作封装成一个类#xff0c;非常方便#xff0c;信奥中使用它也是很有优势的。 目录
一、队列的定义
二、创建队列对象
三、队列的初始化
四、常… 序言 我们平常写广搜什么上来就是一句 queueXXX qu; 说明队列时很重要的。 STL库中的queue把队列的各种操作封装成一个类非常方便信奥中使用它也是很有优势的。 目录
一、队列的定义
二、创建队列对象
三、队列的初始化
四、常用函数 一、队列的定义 ←出队[ ] [ ] [ ] [ ]入队← 队列是一种先进先出FIFO的数据结构的数据结构它只能在一端入队在一端出队正是这一特点让它有许多用处比如广度优先搜索等。 二、创建队列对象 queue类型 qu; 尖括号里边填的是队列中元素的类型。 queueint qu; 如填写int那么队列中的元素都是int类型的。 struct Node {int x;int y;int step;
};queueNode qu; 以此类推如果填的是Node那元素都是Node类型的。 三、队列的初始化 以下是常见的几种初始化方法。 queueint qu; // 初始化一个空的队列 queueint qu({1, 2, 3, 4, 5}); // 创建一个队列有元素{1, 2, 3, 4, 5} queueint qu({1, 2, 3, 4, 5});
queueint newQu(qu); // 从其它队列复制 四、常用函数 qu.empty() 返回类型 bool
声明 inline bool std::queueXXX::empty() const
qu.empty() true表示队列为空
qu.empty() false表示队列非空 qu.size() 返回类型 size_t 可以强制转换为int
声明 inline std::size_t std::queueXXX::size() const
qu.size()表示队列元素的个数 qu.front() 返回类型 XXX 即队列元素的类型
声明 inline XXX std::queueXXX::front()
qu.front()返回的是队列的头部第一个元素 qu.back() 返回类型 XXX 即队列元素的类型
声明 inline XXX std::queueXXX::back()
qu.back()返回的是队列的尾部第一个元素 qu.push(a) 返回类型 void
声明 inline void std::queueXXX::push(const XXX __x)
qu.push(a) 将元素a压入队列尾部 qu.pop() 返回类型 void
声明 inline void std::queueXXX::pop()
qu.pop() 将队列头部第一个元素移除 qu.emplace(...) 返回类型 XXX
声明 inline XXX std::queueXXX::emplaceint, int(int __args, int __args)
它同push也用于在队列尾部压入成员以下演示它的优势。struct XXX {int a, b;XXX(int x, int y) {a x;b y;}
};int main() {queueXXX qu;qu.emplace(1, 2); // 此处直接构造XXX类型的对象无需自己构建。// 该函数将返回一个XXX类型的对象即我们当场构造的那个对象cout qu.front().a qu.front().b endl;return 0;
} qu.swap(x) 返回类型 void
声明 inline void std::queueXXX::swap(std::queueXXX __q) noexcept(true)
qu.swap(qu2) 或 qu2.swap(qu) 都可以将qu与qu2中的元素进行交换