自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(225)
  • 资源 (7)
  • 问答 (15)
  • 收藏
  • 关注

原创 模拟路由器

//路由器,功能为:存储,转发即抓包,改变包的内容#include <stdio.h>#include <sys/socket.h>#include <netinet/ether.h>#include <arpa/inet.h>#include <string.h>#include <netpacket/packet.h>#include <sys/ioctl.h>#include <net/if.h&

2021-05-28 16:01:17 551 2

原创 适配器的使用

绑定参数公有继承binary_function参数萃取(设置binary_function的三个参数分别是:仿函数的两个参数和返回值)operator最右方加const修饰

2021-05-28 15:40:33 156

原创 使用内建函数对象

可以用仿函数代替

2021-05-28 15:25:41 142

原创 什么是谓词

谓词:返回值为bool类型的普通函数或函数对象

2021-05-28 15:15:02 307

原创 set容器判断是否插入成功

set<int> sa; bool flag = sa.insert(1).second; bool flag2 = sa.insert(1).second; cout<<"flag="<<flag<<endl; cout<<"flag2="<<flag2<<endl;

2021-05-28 14:16:30 538

原创 二叉树求高度以及叶子节点数目

int btDepth(TreeNode* root){ if(NULL==root) return 0; int lh = btDepth(root->left); int rh = btDepth(root->right); int height = lh>rh?lh+1:rh+1; return height;}void leafNum(TreeNode* root,int* num){ if(NULL

2021-05-28 11:45:26 428

原创 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。

/** * struct ListNode { * int val; * struct ListNode *next; * }; */class Solution {public: /** * * @param l1 ListNode类 * @param l2 ListNode类 * @return ListNode类 */ ListNode* mergeTwoLists(ListNode* l1, ListNode*

2021-05-27 16:53:15 97

原创 关于构造函数的注意事项

如果定义有参的普通构造,屏蔽默认构造,但不会屏蔽默认拷贝构造如果定义拷贝构造,屏蔽默认构造,屏蔽默认拷贝构造

2021-05-27 15:41:09 89

原创 内存泄漏举例

2021-05-27 15:22:22 130

原创 两数的和(牛客)

class Solution {public: /** * * @param numbers int整型vector * @param target int整型 * @return int整型vector */ vector<int> twoSum(vector<int>& numbers, int target) { // write code here v.

2021-05-27 14:48:56 61

原创 二叉树的前中后序遍历(牛客)

/** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; */class Solution {public: /** * * @param root TreeNode类 the root of binary tree * @return int整型vector<vector<>> */

2021-05-27 11:53:30 71

原创 对组的使用

2021-05-27 10:58:16 59

原创 set容器

set容器根据元素键值自动排序键值实值是同一个值键值不能相同迭代器不能改变键值底层是红黑树(父子之间黑红相间)#include <iostream>#include<set>using namespace std;void printSet(set<int>& s){ set<int>::iterator it = s.begin(); for(;it!=s.end();it++) { c.

2021-05-27 10:37:38 58

原创 非递归实现链表反转(无头节点)

class Solution {public: ListNode* ReverseList(ListNode* pHead) { if(pHead==NULL||pHead->next==NULL) return pHead; else { //申请三个指针,1.当前指向2.返回指针3.当前指向的前一个 //ListNode* cur = pHead; ListNode*

2021-05-26 17:53:12 60

原创 载入qss

2021-05-26 11:24:42 88

原创 ping通说明什么

ping是icmpping通说明 网络层,链路层没问题

2021-05-26 10:19:19 3395

原创 数据库sqlite3操作3(c语言操作数据库)

main.c#include<stdio.h>#include"sqlite3.h"//结果中每一行数据触发一次int my_fun(void* para,int n_column,char** column_value,char** column_name){ printf("####################\n"); int i = 0; for ( i = 0; i < n_column; i++) { print.

2021-05-25 11:54:53 143 1

原创 数据库sqlite3操作3

常用的约束分类:主键,唯一约束,检查约束主键:一个表中只有一个主键,主键修饰的列额值不允许重复联结表:视图:重用SQL语句,简化复杂的sql操作(简化联结表的语句)触发器:是数据库的回调函数,每当delete,insert,update 操作才会触发创建索引:...

2021-05-25 10:59:38 63

原创 数据库sqlite3操作2

lengthcountse

2021-05-24 20:13:02 74

原创 数据库sqlite3操作1

啊手动阀

2021-05-24 19:55:20 51

原创 条件变量,生产者消费者模型

通常,条件变量和互斥锁一起使用!生产者,消费者只能有一人进入仓库生产或消费#include<stdio.h>#include<pthread.h>#include <sys/types.h>#include <unistd.h>#include<stdlib.h>pthread_mutex_t mutex;//定义一个互斥锁pthread_cond_t cond;//定义一个条件变量int num = 0;//定义一个仓库vo.

2021-05-24 09:18:42 82

原创 信号量实现互斥,同步

互斥:p即-1,v即+1,互斥需要p自己v自己,无论多少个线程只需要一个信号量同步:有几个线程就需要几个信号量,p自己v下一个,在初始化的时候,sem_init值为1的先执行

2021-05-24 08:23:43 127

原创 map容器

class Student{public: string name; int age;public: Student(){} Student(string name, int age) { this->name = name; this->age = age; }};#include<vector>void test02(){ map<int,Student> m;/..

2021-05-23 22:37:02 540

原创 关于注释的写法

/*************************************************************************文件名:network.c文件描述:网络通讯函数集创建人:Hao Chen, 2003年2月3日版本号:1.0修改记录:************************************************************************/而对于函数来说,应该也有类似于这样的注释:/*==========

2021-05-23 22:24:20 46

原创 使用单例模式

#pragma once//功能: 1. 全局的配置文件// 2. 单例模式进行读取#include <iostream>#include<string>#include <QString>#include <QByteArray>using namespace std;typedef struct _SCompass{ double XOffset; double YOffset; double ZOffset;}SCompas

2021-05-13 17:58:43 106

原创 deque容器

deque双端动态数组:双开口连续线性与deque的差异:允许使用常数项时间对头端进行元素的插入删除(不管数据量删除插入的耗时不变),没有容量vector 单端动态数组deque的原理:(这好像哈希表的样子)...

2021-05-13 17:01:35 49

原创 学习哈希表

参考:https://www.bilibili.com/video/BV1si4y1b7Rs/?spm_id_from=333.788.recommend_more_video.1

2021-05-13 16:19:01 50

原创 时间复杂度

参考:https://www.bilibili.com/video/BV14j411f7DJ?from=search&seid=15258461156211809121给2维数组赋值,空间复杂度O(n^2)

2021-05-13 15:39:58 36

原创 递归方法实现没有头节点的链表反转

Node* reverseList(Node* head){ if(head->next == NULL) return head; if(head==NULL) return NULL; Node* p = reverseList(head->next); head->next->next = head; head->next = NULL; return p;}

2021-05-13 11:59:26 158

原创 学习http

参考:https://www.bilibili.com/video/BV1V54y1y7c4?from=search&seid=10157147860167963416

2021-05-12 18:30:19 52

原创 there is a dog 转换成 dog a is there

adsf

2021-05-12 16:36:31 194

原创 makefile的用法

作用:在修改文件之后不会重复编译,也就是说减少重复编译时间语法:命令列表是具体步骤如果make需要寻找其它makefile文件名,make+ 其它文件名假想目标(没有依赖文件)make从第一条开始执行,且只执行第一个目标,缺少依赖则继续,但是可以使用 make clean 也就是说 从clean这条开始i执行makefile的语言:变量不代表值,需要$(变量)取到变量的值查看系统环境变量: envecho $<环境变量名>导入环境变量预定义变量:

2021-05-12 11:29:10 94

原创 qpushbutton中文字和图片上下布局

ui.pushButton->setStyleSheet("QPushButton{"\ "border: 1px solid #00d2ff; "\ "min-height: 40px; "\ "color:red; "\ "font-size:14px; "\ "text-align : bottom; "\ "ba

2021-05-11 09:54:19 2465

原创 Qt布局之后的特定位置显示

//点击隐藏,显示 connect(ui.widget_2, &MWidget::mclicked, this, [=]() { qDebug() << ui.widget_2->mapToGlobal(ui.widget_2->pos()).x(); static int a = 0; a ^= 1; if (a == 1) { QRect rect = ui.widget_2->geometry(); //int x

2021-05-11 09:48:40 415

原创 qt的lambada表达式中&和=的区别?

Widget::Widget(QWidget *parent) : QWidget(parent) , ui(new Ui::Widget){ ui->setupUi(this); BhWidgetRender* p = new BhWidgetRender(this); connect(ui->label_2,&MQlable::mclicked,[&]() { p->hide(); });}

2021-05-08 11:46:02 465 2

原创 c语言求最小公倍数和最大公约数

注:最小公倍数等于两数相乘除以最大公约数#include <stdio.h>int LCM(int a,int b) //最小公倍数{ //两数相乘除以最大公约数 int c = a*b; int d = GCD3(a,b); return c/d;}int GCD(int a,int b)//最大公约数{ //两种思路: 1.从1开始,找最大能整除这两个数的数 // 2.从二者较小的数开始,直到有个数将二者整

2021-05-07 21:03:01 311

原创 操作系统学习b1

operation system 管理计算机硬件与软件资源的计算机程序早期的程序员都是小姐姐,男的都是科学家zzzZZ

2021-05-07 18:01:56 64

原创 搜索二叉树,插入,搜索,找最值,找父节点

#include <iostream>using namespace std;typedef struct _TreeNode{ int data; struct _TreeNode* left; struct _TreeNode* right;}TreeNode;int getTreeHeightByPostOrder(TreeNode* r){ int lH,rH,maxH; if(r) { lH = ge

2021-05-07 11:49:38 56

原创 判断数组里是否有重复的两个数

#include <stdio.h>#include<string>using namespace std;bool judgeDup(int* arr,int n){ bool a = false; //使用选择排序的遍历 for(int i=0;i<n-1;i++) { for(int j=i+1;j<n;j++) { if(arr[i]==arr[j])

2021-05-06 15:35:35 325

原创 两数相加

#include <stdio.h>/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode(int x, ListNode *

2021-05-06 15:10:03 41

歌词解析c语言.rar

歌词解析c语言.rar

2021-11-22

使用qt的引导界面,包括xml,自定义控件,单例模式的使用

使用qt的引导界面,包括xml,自定义控件,单例模式的使用

2021-05-13

send_all_serialport.rar

send_all_serialport.rar

2021-04-19

thread_test.rar

使用槽函数的方法创建新的线程

2021-03-31

c语言音乐播放器2.emmx

c语言音乐播放器2.emmx

2021-03-11

02_pro_real_arp.rar

02_pro_real_arp.rar

2021-03-07

include.rar

不知道怎么把Linux的include 问价夹复制出来的人

2021-01-04

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除