自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

超级大洋葱的博客

记录超级大洋葱的成长

  • 博客(917)
  • 资源 (23)
  • 收藏
  • 关注

原创 C++ performance 性能分析工具(sanitizers valgrind gprof gperftools perf)的使用

文章目录1. time2. Sanitizers2.1 内存泄漏`-fsanitize=leak`2.2 地址错误 `-fsanitize=address`3. Valgrind 工具集3.1 memory error detector3.1.1 简单例子3.1.2 更多3.2 call-graph generating4. GNU gprof (GNU Profiler)4.1 以文本显示4.2 以图形显示5. gperftools (Google Performance Tools)5.1 text

2022-01-20 14:41:06 5234 1

原创 常用排序算法 C++ 实现

文章目录1. 冒泡排序2. 选择排序3. 插入排序4. 希尔排序5. 归并排序6. 快速排序1. 冒泡排序#include <iostream>#include <vector>//冒泡排序void BubbleSort(std::vector<int>& arr){ int length = arr.size(); if(length<2) return; for(int i=length-1; i>=0; --

2021-08-05 17:36:24 1131

转载 五大常用算法简介

1、递归与分治递归算法:直接或者间接不断反复调用自身来达到解决问题的方法。这就要求原始问题可以分解成相同问题的子问题。示例:阶乘、斐波纳契数列、汉诺塔问题斐波纳契数列:又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F1=1,F2=1,Fn=F(n-1)+F(n-2)(n>2,n∈N*))。分治算法:待解决复杂的问题能够简化为几个若干个小规模相同的问题,然后逐步划分,达到易于解决的程度。1、将原问题分解为n个规模较

2021-08-03 17:13:42 2018

原创 [LeetCode C++] 9. 回文数

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/palindrome-number/题目:方法一:反转一半数字class Solution {public: bool isPalindrome(int x) { // 特殊情况: // 如上所述,当 x < 0 时,x 不是回文数。 // 同样地,如果数字的最后一位是 0,为了使该数字为回文, // 则其第一位数字也

2021-08-01 17:14:10 358

原创 [LeetCode C++] 8. 字符串转换整数 (atoi)

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/string-to-integer-atoi/题目:解法1:遍历class Solution {public: int myAtoi(string s) { int res = 0; int i=0; int flag=1; //处理空格 while(s[i]==' '){ i++

2021-08-01 15:45:54 252

原创 [LeetCode C++] 5. 最长回文子串

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-palindromic-substring/题目:解法:中心扩散法class Solution {public: pair<int, int> expandAroundCenter(const string& s, int left, int right){ while(left>=0 && right<s.

2021-08-01 13:47:26 236

原创 [LeetCode C++] 2. 两数相加

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/add-two-numbers/题目:解法:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x)

2021-07-31 16:50:26 264

原创 C++ 验证IP地址是否合法(IPv4 & IPv6)

方法一:字符串验证#include <iostream>#include <string>using namespace std;/*IPv6的错误形式可能有如下: 1.多了0 2.出现:: 3.字符不在0-9 a-f A-F之间IPv4错误形式可能有如下: 1.多了首位'0' 2.超过0-255范围 3.首位是"."或出现的".." 4.不能为 '.'和’0-9‘ 之外的数字 5.不为4段 */c

2021-07-30 15:09:42 6002

原创 [LeetCode C++] 56. 合并区间

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/merge-intervals/题目:解法:class Solution {public: vector<vector<int>> merge(vector<vector<int>>& intervals) { if (!intervals.size()) return {}; sort(inter

2021-07-29 16:08:25 237

原创 [LeetCode C++] 35. 搜索插入位置

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/search-insert-position/题目:方法一:二分查找class Solution {public: int searchInsert(vector<int>& nums, int target) { int l=0; int r=nums.size()-1; while(l<=r){

2021-07-29 15:15:00 217

原创 [LeetCode C++] 724. 寻找数组的中心下标

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/find-pivot-index/题目:解法:class Solution {public: int pivotIndex(vector<int> &nums) { int total = accumulate(nums.begin(), nums.end(), 0); int sum = 0; for (int i

2021-07-29 14:58:21 280

原创 [LeetCode C++] 80. 删除有序数组中的重复项 II

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array-ii/题目:方法一:双指针class Solution {public: int removeDuplicates(vector<int>& nums) { int n = nums.size(); if (n <= 2) { retu

2021-07-25 22:04:00 283

原创 [LeetCode C++] 27. 移除元素

来源:力扣(LeetCode)链接:题目:方法一:双指针class Solution {public: int removeElement(vector<int>& nums, int val) { int n = nums.size(); int left = 0; for (int right = 0; right < n; right++) { if (nums[right] != v

2021-07-25 22:00:50 215

原创 [LeetCode C++] 141. 环形链表

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/linked-list-cycle/题目:方法一:哈希表/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Soluti

2021-07-25 19:42:51 236

原创 [LeetCode C++] 234. 回文链表

来源:力扣(LeetCode)链接:题目:方法一:将值复制到数组中后用双指针法/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode

2021-07-25 19:29:16 223

原创 [LeetCode C++] 21. 合并两个有序链表

来源:力扣(LeetCode)链接:题目:方法一:递归/** * 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, List

2021-07-25 17:37:48 227

原创 [LeetCode C++] 206. 反转链表

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse-linked-list/题目:方法一:迭代class Solution {public: ListNode* reverseList(ListNode* head) { ListNode* prev = nullptr; ListNode* curr = head; while (curr) { Li

2021-07-25 17:01:48 333 1

原创 [LeetCode C++] 19. 删除链表的倒数第 N 个结点

来源:力扣(LeetCode)链接:题目:方法一:计算链表长度class Solution {public: int getLength(ListNode* head) { int length = 0; while (head) { ++length; head = head->next; } return length; } ListNode* re

2021-07-25 16:29:39 242

原创 [LeetCode C++] 237. 删除链表中的节点

[LeetCode C++]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/delete-node-in-a-linked-list/题目:解法:/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {}

2021-07-25 16:08:20 226

原创 [LeetCode C++] 14. 最长公共前缀

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/longest-common-prefix/题目:方法一:横向扫描class Solution {public: string longestCommonPrefix(vector<string>& strs) { if (!strs.size()) { return ""; } string p

2021-07-25 14:57:54 319

原创 [LeetCode C++] 38. 外观数列

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/count-and-say/题目:方法一:双指针class Solution {public: string countAndSay(int n) { if(n==1) return "1"; string pre=""; string cur="1"; for(int i=1; i<n; i++){

2021-07-25 14:28:39 188

原创 [LeetCode C++] 28. 实现 strStr()

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/implement-strstr/题目:方法一:暴力匹配class Solution {public: int strStr(string haystack, string needle) { int n = haystack.size(), m = needle.size(); for (int i = 0; i + m <= n; i++) {

2021-07-25 14:09:13 137

原创 [LeetCode C++] 8. 字符串转换整数 (atoi)

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/string-to-integer-atoi/题目:方法一:字符串的转换class Solution { public int myAtoi(String s) { boolean isNegative = false; int len = s.length(); int index = 0, number = 0; wh

2021-07-25 13:55:19 195

原创 [LeetCode C++] 125. 验证回文串

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/valid-palindrome/题目:关键函数:方法一:筛选+判断class Solution {public: bool isPalindrome(string s) { string sgood; for (char ch: s) { if (isalnum(ch)) { sgood +=

2021-07-25 10:57:23 143

原创 [LeetCode C++] 242. 有效的字母异位词

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/valid-anagram/题目:方法一:排序class Solution {public: bool isAnagram(string s, string t) { if (s.length() != t.length()) { return false; } sort(s.begin(), s.end());

2021-07-25 10:33:51 113

原创 [LeetCode C++] 387. 字符串中的第一个唯一字符

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/first-unique-character-in-a-string/题目:方法一:使用哈希表存储频数class Solution {public: int firstUniqChar(string s) { unordered_map<int, int> frequency; for (char ch: s) { ++

2021-07-25 10:10:34 138

原创 [LeetCode C++] 7. 整数反转

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse-integer题目:方法一:数学class Solution {public: int reverse(int x) { int rev = 0; while (x != 0) { if (rev < INT_MIN / 10 || rev > INT_MAX / 10) {

2021-07-25 09:59:53 151

原创 [LeetCode C++] 344. 反转字符串

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse-string题目:方法一:双指针class Solution {public: void reverseString(vector<char>& s) { int n = s.size(); for (int left = 0, right = n - 1; left < right; ++left, --righ

2021-07-25 09:52:41 145

原创 [LeetCode C++] 48. 旋转图像

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/rotate-image题目:方法一:使用辅助数组class Solution {public: void rotate(vector<vector<int>>& matrix) { int n = matrix.size(); // C++ 这里的 = 拷贝是值拷贝,会得到一个新的数组 auto matri

2021-07-24 22:13:47 142

原创 [LeetCode C++] 1. 两数之和

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/two-sum题目:方法一:暴力枚举class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { int n = nums.size(); for (int i = 0; i < n; ++i) { for

2021-07-24 21:18:03 155

原创 [LeetCode C++] 283. 移动零

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/move-zeroes解法:双指针class Solution {public: void moveZeroes(vector<int>& nums) { int n=nums.size(), left=0, right=0; while(right < n){ if(nums[right]){

2021-07-24 20:11:45 137

原创 [LeetCode C++] 66.加一

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/plus-one题目:解法:class Solution {public: vector<int> plusOne(vector<int>& digits) { for (int i = digits.size() - 1; i >= 0; --i) { ++digits[i]; dig

2021-07-24 20:02:53 140

原创 [LeetCode C++] 350. 两个数组的交集 II

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/intersection-of-two-arrays-ii方法一:哈希表class Solution {public: vector<int> intersect(vector<int>& nums1, vector<int>& nums2) { if(nums1.size() > nums2.size()){

2021-07-24 19:41:10 182

原创 [LeetCode C++] 136. 只出现一次的数字

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/single-number/题目描述:方法一:异或class Solution {public: int singleNumber(vector<int>& nums) { int ret = 0; for (auto e:nums){ ret ^= e; } return ret

2021-07-24 19:02:37 117

原创 [LeetCode C++] 217. 存在重复元素

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/contains-duplicate题目:方法一:排序class Solution {public: bool containsDuplicate(vector<int>& nums) { sort(nums.begin(), nums.end()); int n = nums.size(); for(int i=0; i

2021-07-24 17:15:17 193

原创 [LeetCode C++] 189. 旋转数组

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/rotate-array解法:class Solution {public: void rotate(vector<int>& nums, int k) { int n = nums.size(); vector<int> newArr(n); for(int i=0;i<n;i++) .

2021-07-24 17:02:35 120

原创 [LeetCode C++] 122. 买卖股票的最佳时机 II

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii题目:给定一个数组 prices ,其中 prices[i] 是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: prices = [7,1,5,3,6,4]输出: .

2021-07-24 16:43:09 123

转载 [LeetCode C++] 26. 删除有序数组中的重复项

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数.

2021-07-24 16:26:11 151

原创 计算机专业常用英语单词

以下单词按照字母先后顺序排序:abstract 抽象abstract base class 抽象基类access 访问access control 访问控制adaptor 适配器aggregate 聚合algorithms 算法alias 别名ambiguous 二义性anonymous 匿名argument 实参array 实参array 数组assignment 赋值associative container 关联容器backslash 反斜杠base class 基类

2021-07-23 22:18:57 714

原创 Windows搭建基于EClipse的CppUTest单元测试环境

文章目录1. Cygwin介绍及下载2. 安装Cygwin2.1 安装2.2 配置 `Path`3. 编译CppUTest3.1 下载 CppUTest3.2 编译 CppUTest3.2 添加 *`CPPUTEST_HOME`* 到 `Path`4. 安装 `EClipse C/C++` 开发环境4.1 安装JDK4.2 下载 Eclipse IDE for C/C++ Developers4.3 设置工作区5. 创建 Cygwin C++工程5.1 新建默认工程5.2 添加自己的内容5.3 在 main

2021-07-18 01:01:16 1057 1

CppUTest eclipse-workspace.zip

此资源为在windows环境下使用EClipse进行CppUTest单元测试教程的配套资源。 教程地址:https://tangxing.blog.csdn.net/article/details/118866411

2021-07-18

阿里巴巴Java开发手册(嵩山版)_20200803.pdf

阿里巴巴Java开发手册最新版本 截至2021年1月9日

2021-01-09

Qt 多线程使用串口源码下载

本资源为教程: https://tangxing.blog.csdn.net/article/details/111721947 配套资源,讲解在子线程中使用串口。

2020-12-26

Qt多线程例子、示例、三种方式使用多线程、源码下载

本示例程序使用Qt Creator创建多线程示例,下载下来可直接编译运行: 1.继承QObject 2.继承QThread 3.继承QObject魔改 教程地址: https://tangxing.blog.csdn.net/article/details/111615381

2020-12-24

Qt Qss三套样式文件 qss.zip

此文件为Qt Qss三套样式文件,下载后,在工程中引入使用即可。具体可参考博客: https://tangxing.blog.csdn.net/article/details/109160027

2020-10-19

Perl 5.28 + QtXlsx下载.zip

本资源为个人博客《Qt5安装Qxlsx模块,以及Qxlsx模块的简单使用》的配套资源。 博客地址:https://tangxing.blog.csdn.net/article/details/106908387

2020-06-22

Motrix.zip

Motrix-Setup-1.5.15.exe,一款多功能下载软件,可以接管浏览器的下载以及迅雷任务。

2020-06-09

cublas64_90.dll

Halcon版本是17.12需要的cuda,如果你安装了cuda10,10版本的是“cublas64_100.dll”,那么可以用此文件“cublas64_90.dll”放置到MVTec\HALCON-17.12-Progress\bin\x64-win64\thirdparty目录下即可,无需安装更低版本的CUDA

2020-06-07

STM32CubeMX通过ESP8266 AT指令MQTT上阿里云物联网平台实践源代码

本工程使用STM32CubeMX工具创建,包含DHT11温湿度传感器驱动,通过ESP8266模块,联网并通过MQTT协议栈,实现本地数据到阿里云IOT平台的MQTT订阅与发布功能。 课程地址:https://blog.csdn.net/u014779536/article/details/106326129

2020-05-25

QT QextSerialPort串口小工具源代码

使用QextSerialPort第三方库开发的串口小工具,实现十六进制/非16进制发送接收,解决QSerialPort发送有延迟的问题,调用即发送,很方便,贡献给希望使用的小伙伴。

2020-04-02

pyqt5_QThread.zip

使用pycharm+anaconda开发环境,在pyqt5中使用QThread实现多线程,前后端分离

2020-03-23

enigmavirtualbox_9.50.zip

Enigma 虚拟文件打包功能不需要懂得任何额外的编程代码。只需要运行该工具,浏览您需要打包的文件,再添加到打包目录列表中,最后点击打包(保护)即可!

2020-03-11

Qt_SerialPort.zip

使用Qt5.9.0和SerialPort库建立的串口通信程序,仅供参考,包括16进制和字符串的相互转换功能。

2020-02-27

STM32CubeMX实现STM32 USBHID双向64字节通信(下位机部分)源代码.zip

STM32CubeMX实现STM32 USBHID双向64字节通信(下位机部分)源代码,下位机完成串口接收USBHID发送,USBHID接收串口打印功能。

2020-02-27

Qt_USB-HID_timer.zip

STM32CubeMX实现STM32 USBHID双向64字节通信(Qt上位机部分),使用Qt完成与STM32的usbhid通信,实现主动发送和定时器定时接收功能。

2020-02-27

Pandora_USBHID.zip

使用STM32CubeMX完成单片机USBHID双向64字节通信,下位机部分,使用潘多拉开发板,芯片为STM32L475VE。

2020-02-26

stm32cubemx stm32f429 华为LiteOS工程

本工程使用stm32cubemx Version 5.5.0生成,并在此基础上移植华为LiteOS,在野火挑战者平台上移植并成功运行,使用stm32cubemx将大大节省您的开发时间。

2020-01-21

stm32cubemx stm32f429 RT-Thread工程

本工程使用stm32cubemx Version 5.5.0生成,并在此基础上移植RT-Thread和FinSH控制台组件,在野火挑战者平台上移植并成功运行,使用stm32cubemx将大大节省您的开发时间。

2020-01-20

stm32cubemx stm32f429 UCOS-III工程

本工程使用stm32cubemx Version 5.5.0生成,并在此基础上移植UCOS-III,在野火挑战者平台上移植并成功运行,使用stm32cubemx将大大节省您的开发时间。

2020-01-20

stm32cubemx stm32f429 腾讯TencentOS tiny工程

本工程使用stm32cubemx生成,并在此基础上移植腾讯TencentOS tiny,在野火挑战者平台上移植并成功运行,使用stm32cubemx将大大节省您的开发时间。

2020-01-20

stm32cubemx stm32f429 FreeRTOS工程

本工程使用stm32cubemx生成,并在此基础上移植FreeRTOS,在野火挑战者平台上移植并成功运行,使用stm32cubemx将大大节省您的开发时间。

2020-01-20

STM32F429_UCOSIII_DEMO.zip

在STM32CubeMX生成的工程基础上移植UCOSIII,并添加LED和USART任务的代码,供大家参考。

2020-01-20

2019WIOTC世界物联网大会计划方案.pdf

2019WIOTC世界物联网大会计划方案 01世界物联网大会(WIOTC)是全球物联网领域高级别国际性会议 022019世界物联网大会计划于2019年11月召开

2019-09-25

空空如也

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

TA关注的人

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