- 博客(161)
- 收藏
- 关注
原创 Qt中tableView控件的使用
如果不修改属性,使用默认属性可能会出现设置的右键菜单无效(customContextMenuRequested触发)。
2024-02-28 00:03:39 821
原创 Qt中控件pushbutton的使用
③混合生成方式(代码+UI界面):推荐此种方式,需要注意的是,此种方式下,添加槽函数,会自动绑定,只不过connect的内容不会在cpp文件中生成(无需自己写connect函数进行绑定),会在ui->setupUi(this)中自动实现connect绑定。②纯UI界面生成:通过拖动工具栏中已有的pushbutton控件进行实现,但一些属性设置上,纯UI界面操作复杂,不推荐;①纯代码生成:通过代码实现pushbutton控件所有的属性,不推荐;
2024-02-25 21:17:47 579
原创 C语言中如何取一串比特中的特定位的比特
向右的移位操作相当于丢掉最后的几位,然后剩下的位数进行“与”运算即可。此处在进行计算时,选择转化成十六进制的数进行“与”运算,想要取n位比特,就对应的把二进制的n个1转化成十六进制的数,然后进行“与”运算即可。
2023-12-04 21:48:49 596
原创 sort函数进行二维vector的排序
sort(envelopes.begin(), envelopes.end(), [](const auto& e1, const auto& e2) { return e1[0] < e2[0] || (e1[0] == e2[0] && e1[1] > e2[1]); });
2023-07-23 15:59:05 117
原创 优先级反转
资源具有优先级,其优先级与预计要求占用此资源的任务中的最高优先级相同。要求占用资源的任务的优先级在得到资源后,会动态提升任务自身的优先级,新的优先级是任务此时所占用的所有资源中最高的资源优先级。在实时操作系统中,高优先级任务需要访问的资源被低优先级的任务占用,导致高优先级的任务被阻塞,高优先级任务必须等待低优先级任务释放资源后才能唤醒。如果获得互斥资源的任务由低优先级变为高优先级,那么中等优先级的任务就不会抢占该任务,也就不会导致需要同一资源的其他高优先级任务因为低优先级任务阻塞而出现不确定的时间。
2023-07-21 16:28:30 122
原创 sort函数进行二维vector的排序
利用一组数据来说明,sort函数进行二维vector的排序:envelopes = [[5,4],[6,4],[6,7],[2,3]]代码如下:#include<iostream>#include<vector>#include<algorithm>using namespace std;int main() { vector<vector<int>> envelopes(4,vector<int>(2,0));
2022-04-22 22:28:35 2749
原创 stringstream的用法
1.用stringstream来分割指定的字符字符串,代码如下://用stringstream来分割指定的字符字符串#include <iostream>#include <sstream>#include <vector>#include<queue>#include<string>using namespace std;int main() { string str = "1,2,3,4,5"; string
2022-04-21 00:58:52 5988
原创 利用模板类实现栈
代码如下:#include <iostream>#include <vector>#include <cstdlib>#include <string>#include <stdexcept>using namespace std;template <class T>class Stack {private: vector<T> elems; // 元素 public: vo
2022-04-19 16:16:32 530
原创 getchar函数的使用
举一个例子:代码如下:#include<iostream>#include<vector>#include<string>using namespace std;int main() { int n = 3; vector<int> vec(3, 0); for (int i= 0; i < n; i++) { cin >> vec[i]; getchar(); } for (int i = 0; i &l
2022-04-14 08:55:52 224
原创 快速排序整理
理解图:附上代码:class Solution {public: vector<int> getLeastNumbers(vector<int>& arr, int k) { quickSort(arr, 0, arr.size() - 1); vector<int> res; res.assign(arr.begin(), arr.begin() + k); return res;
2022-04-01 19:42:23 342
原创 C++中this指针使用
this指针的使用:this 是 C++ 中的一个关键字,也是一个 const 指针,它指向当前对象,通过它可以访问当前对象的所有成员。注意:1.this 是 const 指针,它的值是不能被修改的,一切企图修改该指针的操作,如赋值、递增、递减等都是不允许的。2.this 只能在成员函数内部使用,用在其他地方没有意义,也是非法的。3.只有当对象被创建后 this 才有意义,因此不能在 static 成员函数中使用this 实际上是成员函数的一个形参,在调用成员函数时将对象的地址作为实参传递给 t
2022-03-28 17:09:04 1937
原创 C++中vector的使用小结
关于vector的使用,特别好用的一些点:1、一维数组vector使用时:附上代码如下:#include<iostream>#include<vector>using namespace std;int main() { int n; cin >> n; int number; vector<int> res(n,0); //初始化一个含有n个元素的一维数组,初始元素为0 //看初始化为0是否成功,进行打印输出 for (int i
2022-03-28 00:38:13 1638
原创 vector的使用
直接附上用例:#include<iostream>#include<vector>using namespace std;int main() { string str; cin >> str; vector<int> count(27, 0); //建立一个大小为27,所有初始个数皆为0 for (int i = 0; i < str.size(); i++) { if (str[i] >= 'a' && s
2022-03-21 14:24:53 277
原创 力扣网页PC端无法进入(问题得到解决)
最近发现在不同地方,使用不同WiFi时,有些地点出现力扣网页PC端无法加载的问题。按照网上方法进行了调试,发现帖子推荐改hosts文件,将自己电脑https://leetcode-cn.com/的对应IP加入hosts文件。此种方法,试了后,并没有解决问题。...
2022-01-22 11:06:58 10356 8
原创 对容器可以保存的元素类型的限制(C++ Primer 5th)
顺序容器几乎可以保存任意类型的元素。特别是,我们可以定义一个容器,其元素的类型是另一个容器。这种容器的定义与任何其他容器类型完全一样:在尖括号中指定元素类型(此种情况下,是另一种容器类型);//此处lines是一个vector,其元素类型是string的vectorovector<vector<string>> lines; //vector的vector注意:较旧的编译器可能需要在两个尖括号之间键入空格,例如vector<vector<string>
2022-01-16 22:25:57 554
原创 顺序容器(C++ Primer 5th)
0顺序容器概述除了固定大小的array外,其他容器都提供高效、灵活的内存管理。我们可以添加和删除元素,扩张和收缩容器的大小。容器保存元素的策略对容器操作的效率有着固有的,有时是重大的影响。在某些情况下,存储策略还会影响特定容器是否支持特定操作。例如,string和 vector将元素保存在连续的内存空间中。由于元素是连续存储的,由元素的下标来计算其地址是非常快速的。但是,在这两种容器的中间位置添加或删除元素就会非常耗时:在一次插入或删除操作后,需要移动插入/删除位置之后的所有元素,来保持连续存储。而且
2022-01-16 16:11:28 378
原创 容器适配器:stack、queue和priority_queue(C++ Primer 5th)
0前言除了顺序容器外,标准库还定义了三个顺序容器适配器: stack、queue 和priority_queue。适配器(adaptor)是标准库中的一个通用概念。容器、迭代器和函数都有适配器。本质上,一个适配器是一种机制,能使某种事物的行为看起来像另外一种事物一样。一个容器适配器接受一种已有的容器类型,使其行为看起来像一种不同的类型。例如,stack适配器接受一个顺序容器(除array或forward_list外),并使其操作起来像一个stack一样。表9.17列出了所有容器适配器都支持的操作和类型。
2022-01-15 11:54:34 391
原创 hash_map与map
## 什么时候需要用hash_map,什么时候需要用map?速度上:hash_map 查找速度会比map快,hash_map 属于常数级别;而map的查找速度是log(n)级别。但是常数不一定就比log(n)小,如果考虑效率,特别是在元素达到一定数量级时,考hash_map。内存上:若内存使用特别严格,希望程序尽可能少消耗内存,那么使用map会更合适一些。...
2022-01-10 23:38:54 258
原创 C++中查找字符串中的所有某个字串
//查找s 中子串出现的所有位置 sonStr="abc"; vector<int> strNumber; position=0; //用来记录子串出现的位置 while((position=s.find(flag,position))!=string::npos) { strNumber.push_back(position); position++; }...
2021-12-26 15:40:45 1184
原创 刷题:LC111 二叉树的最小深度 BFS
#include<iostream>#include<sstream>#include<string>#include<queue>using namespace std;//Definition for a binary tree node.struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode() : val(0), left(n
2021-11-10 11:08:26 354
原创 刷题:LC367 有效的完全平方数 每日一题 二分法
题目简单,利用二分法进行求解判断:class Solution {public: bool isPerfectSquare(int num) { int left = 0, right = num; while (left <= right) { int mid = (right - left) / 2 + left; long square = (long) mid * mid; if
2021-11-04 17:27:48 83
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人