堆栈的使用

堆的声明

        queue<int> qu;        注意:堆的头文件是 #include<queue>

queue常用函数

       qu.push();        从堆尾插入元素

        qu.pop();        弹出堆首的元素

        qu.front();        访问堆首的元素

        qu.back();        访问堆尾的元素

栈的简单介绍

栈是一个先进后出的数据结构,它的存放就像往一根试管中放东西,越是在后面放的反而越在上面,即是先进去的后出来,所以是先进后出的。

栈的声明

        stack<int> st;        注意:栈的头文件是 #include<stack>

stack常用函数

        st.push();        放入元素,放在栈的顶部

        st.pop();        弹出栈顶元素

        st.top();        访问栈顶元素

       !st.empty();        栈不为空

例题

补充知识

1.万能头文件

#include<bits/stdc++h>

2.调试的小技巧——对拍

对拍的操作

        先写一个随机数据生成器的代码,用来生成随机但满足题意输入的数据

        然后找一个标程代码(已经ac正确了的代码)或者自己写一个暴力的代码去读入先前生成的数据,然后便可得到对应的正确的输出

        再然后把自己的正确性未知的代码也读入先前的数据,然后对比正确的输出,看哪些样例过不了。如果都能过,这可以多重复几次这样的操作

对拍的代码如何实现

我们以a+b为例

首先,我们需要明白,我们的数据输出可能是多的,所以我们选择把随机生成的输入数据以及执行完程序输出的生成数据都使用文档存储。如何把数据用文档存储起来呢?

        我们可以使用 freopen("shuru.in", "w", stdout); 这种格式的

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值