C++
Red_Lotus_
这个作者很懒,什么都没留下…
展开
-
优先队列 priority_queue
首先要包含头文件#include,和队列基本操作相同:top 访问队头元素empty 队列是否为空size 返回队列内元素个数push 插入元素到队尾 (并排序)emplace 原地构造一个元素并插入队列pop 弹出队头元素swap 交换内容定义:priority_queue<Type, Container, Functional>Type 就是数据类型,Container 就是容器类型(Container必须是用数组实现的容器,比如vector,deque等等,但不能用 li原创 2021-10-13 13:21:00 · 122 阅读 · 0 评论 -
C++ STL中map的使用
map是一类关联式容器,内部是红黑树。它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节点,对其他的节点都没有什么影响。对于迭代器来说,可以修改实值,而不能修改key。1、构造mapmap<int, string> mymap;2、插入数据使用insert插入pairmymap.insert(pair<int, string>(1, "one")); 使用insert插入value_type数据 mymap.insert(map<int, stri原创 2021-04-04 14:01:07 · 136 阅读 · 0 评论 -
【C++简单算法】Prim与最小生成树
#include#includeusing namespace std;int main(){int n,m;cin>>n>>m;int graph[n+1][n+1];for(int i=1;i<n+1;i++){for(int j=1;j<n+1;j++){graph[i][j]=10001;}}for(int i=0;i<m;i++){int a,b,c;cin>>a>>b>>c;if(原创 2020-10-14 21:51:39 · 240 阅读 · 0 评论 -
一些平时敲代码经常会用的C++语句(不定期更新)
最近敲C++代码比较多,有一些挺有用的语句或者库函数经常会忘记,因此在这里做个记录。如何定义二维vector的大小//定义二维数组,维度n×m,并初始化为0vector<vector<int>> array(n, vector<int>(m, 0));初始化一个数组元素memset(array,0,sizeof(array));计算数组元素的和int sum = accumulate(nums.begin(), nums.end(), 0);得到数组原创 2020-10-11 20:50:05 · 136 阅读 · 0 评论 -
不使用额外空间的中序遍历
一般的中序遍历代码如下:void inorder(TreeNode * root){ if(!root)return; bfs(root->left); cout<<root->val<<" "; bfs(root->right); } 但递归会隐式调用栈,有额外的开销。能不能想个办法继续优化空间呢?先看看中序遍历的规律,对于每一个结点,我们是希望先遍历他的前面结点再遍历这个结点。而原创 2020-09-24 21:43:05 · 122 阅读 · 0 评论 -
解决QT的启动程序失败,路径或者权限错误
QT编程时,时不时会遇到这样的问题。明明QT里的内容都没改动,但莫名其妙地就报错了。如图所示: 如果去到目录下找到对应的exe文件,则也会显示无法打开。 找了好几个方法都没有解决(很奇怪为什么这些方法他们有效果而我没有)。最终无意中解决了。方法为删掉对应的“build-flight-Desktop_Qt_5_12_7_MinGW_64_bit-Release”文件夹。然后重新编译,就...原创 2020-04-13 14:33:02 · 2070 阅读 · 0 评论 -
QT切换页面时的闪烁问题
最近在用QT做界面时,菜单点击按钮后的界面跳转实在很费神。所以最后做成了比较简单的新建ui并跳来跳去的过程。但这样也面临了一个问题,每次隐藏父界面并打开子页面时,中间都会有一个闪烁的过程。当频繁地操作页面时,会觉得十分晕头转向。 所以,为了解决这个问题,我发现了一个方法,那就是先显示子页面再隐藏父页面。而隐藏父界面的操作比显示子页面的操作快得多,所以可以在这个过程中间加一个延时。 代码...原创 2020-04-10 00:50:54 · 2430 阅读 · 0 评论