- 博客(6)
- 收藏
- 关注
原创 排序算法学习笔记
快速排序(用处最广,面试提问最多)原理:(以从大到校排列为例)设置一个基准值(默认数组第一个元素),两个哨位,这两个哨位作用就是用来判断当前位置的值和基准值的大小。nLeft为左哨位,nRight为右哨位,第一步先从右哨位出发,寻找到第一个比基准值小的值,记录当前位置,然后再从左哨位出发,找出第一个比基准值大的值,记录位置,再将左右哨位值互换,然后继续前进,直到左右哨位相遇,跳出循环,将相遇位置的值和基准值做互换,就完成了第一轮排序,基准值左侧全部比基准值小,右侧全部比基准值大。 完成...
2022-04-07 20:22:20
247
原创 二叉树遍历
节点结构:/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */前序遍历://递归遍历void PreScan(TreeNode* T){ if(!
2022-04-07 10:15:20
1162
原创 C++11新特性学习汇总(主要)
1:auto类型推导基本用法:double func();auto a = 1; //intauto b = func(); //double//简化复杂的变量类型vector<string> vstr;vector<string>::iterator it = vstr.begin();//用auto声明auto it = vstr.begin();2:基于范围的for循环基本用法://基于范围的for循环后的括号由冒号“:
2022-04-06 19:53:51
706
原创 unordered_map和map学习使用笔记
unordered_map:关联容器,内部采用hash表结构,具有快速检索的功能特性:1:可以通过key来快速检索value,主要可以用于处理上位机字符串指令(先分割字符串,然后按照(key,value)存储;2:无序性,key值排序就是直接按照插入的顺序进行排序;3:键值唯一;使用:1:迭代器的使用(遍历元素)unordered_,map<char, int > Map;迭代器:unordered_,map<...
2022-04-06 15:21:57
861
原创 Qt connect第五个参数使用
connect用于连接qt的信号和槽,在qt编程过程中不可或缺。它其实有第五个参数,只是一般使用默认值,在满足某些特殊需求的时候可能需要手动设置。Qt::AutoConnection: 默认值,使用这个值则连接类型会在信号发送时决定。如果接收者和发送者在同一个线程,则自动使用Qt::DirectConnection类型。如果接收者和发送者不在一个线程,则自动使用Qt::QueuedConnection类型。Qt::DirectConnection:槽函数会在信号发送的时候直接被调用,槽函数运行于信号发送
2021-10-05 16:00:48
146
原创 Qt5解决TCP粘包问题(客户端拆包)
首先说前提:对收发数据双方事先定义一个数据包头(包头格式可以自定,但是必须包含整个报文长度),发送数据格式为:数据包头+数据;思路:Qt自身封装的readyRead作为接收网络数据接口,可以关联一个槽函数,每次接收到网络数据就会响应此槽函数,对数据进行拆包在这个槽函数中进行;connect(Socket, &QTcpSocket::readyRead, this, &TcpClient::ReceiveData); 然后就是...
2021-09-19 16:05:08
3067
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人