自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

跟随内心的渴望

人生就是debug不完

  • 博客(273)
  • 资源 (1)
  • 收藏
  • 关注

原创 初探Mongodb

mongodb 常见使用

2022-12-05 16:25:21 226 1

原创 C++单例模式

C++ 单例模式#include <iostream>class Singleton{private: Singleton() { std::cout << "Constructor!" << std::endl; }; Singleton(Singleton&) = delete; Singleton& operator=(const Singleton&) = delete;public: ~Sing

2020-11-26 19:21:01 215

原创 随机采样算法(从N个数中抽取M个数) C++

#include <iostream>#include <algorithm>#include <iterator>#include <vector>//假设这n个数的序号依次为0,1,2,...,n-1,数组名为numvoid knuth1(std::vector<int> pNum, int m, int n){ srand((unsigned int)time(0)); for (int i = 0; i < n; i.

2020-08-13 18:00:07 3513

原创 VS动态库调试方法

将动态库与调用动态库的程序放在同一解决方案下打开调用动态库的程序,之后在“解决方案资源管理器”中,选中“解决方案’XXX’”,之后在右键菜单中选择“添加->现有项目”,之后在“添加现有项目”对话框中选择动态库程序的vcxproj文件,如图1所示。此时就将这两个程序放在了同一解决方案下。之后,就可以在动态库中下断点进行调试了。将动态库文件拷贝到调用动态库的程序的文件夹中如果动态库与调用动态库的程序放不在同一解决方案下,可将动态库文件拷贝到调用动态库的程序的相应文件夹中。首先对这两个程序分.

2020-06-30 16:51:57 637

原创 C++11 std::call_once()

std::call_once()的介绍C++11引入std::call_once()函数,该函数的第二个参数是一个函数名a(),std::call_once功能是能够保证函数a()只被调用一次,该函数可以创建单例对象,具备互斥量的能力,这个函数比互斥量消耗的资源更少,call_once()需要与一个标记结合使用,这个标记std::once_flag,其实它是一个结构,call_once()就是通过这个标记来决定对应函数a()是否执行,调用call_once()成功后,call_once()就把这个标记设置

2020-05-26 22:25:06 479

原创 虚函数表和虚函数指针

虚函数的地址存放于虚函数表中。运行期多态就是通过虚函数和虚函数表实现的。类的对象内部会有指向类内部的虚表地址的指针(每个类用了一个虚表,每个类的对象用了一个虚指针)。通过这个指针调用虚函数。虚函数的调用会被编译器转换为对虚函数表的访问。ptr->f(); //ptr代表this指针,f是虚函数*(ptr->vptr[1])(ptr);ptr代表一个this指针,ptr指向的vptr是类内部的虚表指针。这个虚表指针会被放在类的最前方,1就是虚函数指针在虚函数表中的索引值。在..

2020-05-26 20:04:01 1844

原创 git 基本常用命令

git常用命令git add 命令将修改内容加入提交暂存区git add -u可以将所有修改过的文件加入暂存区git add -A 将本地删除文件和新增文件都登记到提交暂存区git commit 直接将登记在暂存区中的内容提交,先使用git log 查看commit日志,git reset --hard commit_id (commit_id指哈希值)git diff 支持二进制的...

2020-05-26 16:22:20 92

原创 阿萨德C++代码实现

#include#include#define eps 1e-6double l,s;double bin_search(double low,double high){double mid;while(high-low>eps){mid=(low+high)/2;double temp=(l*l/4+mid*mid)/mid*as

2020-05-26 16:20:04 139

原创 用sort给字符串排序

按照字典序排序: c++版: string s[21]; for(int i=0;i <20;i++) cin>>s[i]; sort(s,s+20);不用写cmp函数,string 类提供了operator。但这只是按照字典序排序的,按长度排序如下: 按长度排序: c++版:#include<iostream>#include<cstring>#include <algorit

2020-05-26 10:12:03 5674

原创 你大多的不顺,都源于你的心态

你所以的不顺心,一方面是你想的情况比较坏,还有就是你的心态不好,一次不顺,下次就可以被击垮。凭什么男生要这样看待女生的编程 ,凭什么男生就要这样,我在这样的环境,烦了,也累了,烦了,也累了

2020-05-26 10:09:05 115

原创 C++11多线程之std::lock_guard和std::unique_lock

C++11多线程之std::lock_guard和std::unique_lock在C++多线程对共享数据进行修改时,我们需要加互斥锁来保护数据被正确的读和写。C++提供了std::mutex,std::mutex在同一时间,只被一个线程拿到,而其他试图lock mutex的线程会被挂起(线程挂起的状态下CPU不会分给线程时间片,那么当前挂起的线程就会暂停运行。),直到该mutex被释放后,才有可能拿到mutex并继续执行。没有mutex的例子#include <thread>#in

2020-05-25 16:57:53 1762

原创 Qt进度条

进度条显示代码代码在这里插入代码片 QProgressDialog m_progressDlg; m_progressDlg.reset(); m_progressDlg.setLabelText(QString::fromLocal8Bit("正在导出数据到excel,数据总条数[%1],请稍候...").arg(dataVec.size())); m_progr...

2019-12-31 12:14:28 263

原创 Linux下gcc编译器

gcc编译器常用选项-C只编译不链接,生成目标文件".O"-S只编译不汇编,生成汇编文件-E只进行预编译-g在可执行文件中包含标准调试信息,用于后期调试**-ohyjuikl.;/’??.loi8u76hyngrftbm jom9hy867jumfile将file文件指定为输出文件-v打印出编译器内部编译各过程的命令行信息和编译器的版本-l dir在头文件的搜索路径列表...

2019-06-14 12:13:37 298

原创 CPP 实现堆排序

int Swap(int &a,int &b){ int temp=a; a=b; b=temp;}void Heap_build(int a[],int root,int length){ int lchild=root*2+1; if(lchild<length) { int flag=lchild;...

2019-05-30 08:28:19 675

原创 wxWidges的事件

wxWidgets事件处理鼠标事件宏event.Skip() and event.Veto()处理鼠标事件宏EVT_LEFT_DOWN(func) ,用来处理wxEVT_LEFT_DOWN事件, 在鼠标左键按下的时候产生.EVT_LEFT_UP(func), 用来处理wxEVT_LEFT_UP事件, 在鼠标左键被释放的时候产生.EVT_LEFT_DCLICK(func), 用来处...

2019-04-29 12:09:29 451

原创 C语言的宏定义 #if defined 的作用

一、#if defined的作用我们要检查a是否定义#if defined a #undef a #define a 200 #endif #ifndef a //如果a没有被定义 #define a 100 #endif #undef为解除定义#ifndef是if not defined的缩写,即如果没有定义上述语句检验a是否被定义,如果被定义,则用#undef...

2019-04-23 16:58:50 8579 2

原创 使用C++(VS2010控制台应用程序)连接access数据库并且把查询结果写入文本文件

记录一下,自己搞了很长的时间#include "stdafx.h"#include"targetver.h"#include <iostream>//#include<bits/stdc++.h>using namespace std;/*#import生成文件 msado15.tlh,默认是有namespace ADODB {}所有内容都包在这个名字空间中...

2019-04-12 16:12:00 1318

原创 C++之 freopen控制台的文件的输入输出

之前在学校出ACM的题的时候用过,后来过了两年又忘了,现在要在这里记录一下,下次再用的时候比较方便直接贴上代码#include<bits/stdc++.h>#include<iostream>using namespace std;int main(){ freopen("in.txt", "r", stdin); freopen("out....

2019-04-12 15:42:21 1167

原创 Win10下wxWidgets编译错误的解决方法

在编译wxWidgets项目的时候,会出现 无法打开包括文件: “wx/setup.h”: No such file or directory解决的办法:1.到D:\develop\audacity\wxWidgets-3.1.1\include\wx\目录下, 找到platform.h文件,打开2.找到 #include “wx/setup.h” 一行3.将 “wx/setup.h” 改...

2019-03-18 11:24:08 1700

原创 替换空格(剑指offer 二)

请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。这道题的思想主要是应该,想着从后面开始复制和替换,这样才能O(n)的复杂度去解决。此外还要注意字符串为空时的情况,多个连续的空格,没有空格等情况,要一一想清楚再写代码。class Solution {public: void repl...

2019-01-07 18:18:25 188

原创 二维数组中的查找(剑指offer 一)

题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。使用动态二维数组可以暴力遍历查找数组中是否有查找的整数暴力的解决方法:class Solution {public: bool Find(int target, vector&lt;...

2019-01-07 14:55:36 120

原创 string字符串排序

**1.按照字典序排序:** c++版: string s[21]; for(int i=0;i &amp;lt;20;i++) cin&amp;gt;&amp;gt;s[i]; sort(s,s+20);不用写cmp函数,string 类提供了operator。但这只是按照字典序排序的,按长度排序如下: **2. 按长度排序:** c++版:#include&amp;lt;iostream&amp;gt;#...

2019-01-05 21:12:58 6997

原创 循环左移(2010)

请点击这里题目描述最优方法时间复杂度为O(n),空间复杂度O(1);void Reverse(int R[],int from,int to) //逆置数组{ int i,temp; //额外空间 for(i=0;i&lt;(to-from+1)/2;i++) { temp=R[from+i]; R[from+i]=R[to-1]; ...

2018-10-20 17:53:17 497 1

原创 线性表问题

线性表中元素递增有序且按顺序存储于计算机内,要求设计一算法完成用最少的时间在表中查找数值为x的元素,若找到将其与后继位置相交换,若找不到将其插入表中并使表中元素仍然递增有序二分查找int BinarySearch(Elemtpy x){ int mid,low=0,higt=n-1; while(low&lt;=high) { mid=(low+higt)&gt;&gt;1; i...

2018-10-20 16:51:41 386

原创 删除数组中重复元素

一 题目描述长度为n的顺序表,编写一个时间复杂度为O(n),空间复杂度为O(1)的算法,该算法删除线性表中所有值为数据X的数据元素。void del_x(Sqlist &amp;L,Elemtype x){ int k=0; for(int i=0;i&lt;L.lenght;i++) { if(L.data[i]!=x) L.data[k++]=L.data[i]; }...

2018-10-20 16:32:04 2605

原创 求中位数

题目描述题目描述2n个数需要则中位数为第n个数方法:有序归并两序列,直接找出中位数关键代码int i=0,j=0,k=0;for(i=0,j=0,k=0;i&amp;lt;=end1&amp;amp;&amp;amp;j&amp;lt;=end2;k++) if(A[i]&amp;lt;=B[j]) c[k]=A[i++]; //将较小者复制到C中 else c[k]=B[j++]; while(i&amp;lt

2018-10-20 16:02:42 596

原创 HDU and 蓝桥杯 完全背包练习题

题目链接请点击我说一下题目的大意吧,第一行给出小猪存钱罐的重量和装满硬币的小猪钱罐的重量,那么能够装硬币的质量是(F-E)g ,(F-E)g中使装的硬币最少,把(F-E)当成容量,用完全背包解决求最少硬币就可以了。 代码:#include &lt;algorithm&gt;#include &lt;string.h&gt;#include &lt;iostream&gt;#inc...

2018-03-29 21:35:45 422

原创 扩展欧几里得 (求两个数的最大公约数)

#include &lt;algorithm&gt;#include &lt;string.h&gt;#include &lt;iostream&gt;#include &lt;stdio.h&gt;#include &lt;string&gt;#include &lt;vector&gt;#include &lt;queue&gt;#include &lt;map&amp

2018-03-27 18:11:20 488

原创 HDU 3348 coins 贪心 最少纸币和最多纸币

[题目链接](http://acm.hdu.edu.cn/showproblem.php?pid=3348) coinsTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others...

2018-03-26 15:34:24 546

原创 解决 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)

在ubuntu系统的termial下,用apt-get install 安装软件的时候,如果在未完成下载的情况下将terminal close。此时 apt-get进程可能没有结束。结果,如果再次运行apt-get install 命令安装如今,可能会发生下面的提示:       无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)       无法锁定管理目...

2018-03-25 21:04:35 7694 1

原创 最长公共字串

牛客网的题目链接题目描述: 链接:https://www.nowcoder.com/questionTerminal/02e7cc263f8a49e8b1e1dc9c116f7602 来源:牛客网对于两个字符串,请设计一个时间复杂度为O(m*n)的算法(这里的m和n为两串的长度),求出两串的最长公共子串的长度。这里的最长公共子串的定义为两个序列U1,U2,..Un和V1,V2,…Vn,...

2018-03-15 11:13:15 193

原创 Lidecode 3. Longest Substring Without Repeating Characters(map)

题目链接 Given a string, find the length of the longest substring without repeating characters.Examples:Given “abcabcbb”, the answer is “abc”, which the length is 3.Given “bbbbb”, the answer is “b”...

2018-03-14 17:55:27 702

原创 vi /vim自动缩进或者显示行号

可以在当前用户的目录下建立.vimrc文件,在里面写上要设置的参数. 比如:vim ~/.vimrcset cindent shiftwidth=4永久显示行号:vim ~/.vimrcset number 或者 set nu

2017-11-09 19:33:36 292

原创 清理Ubuntu系统的缓存、垃圾、多余内核

在默认情况下ubuntu 会把我们通过apt-get 所安装的软件包保存在缓存文件夹里。我们可以把这个文件夹做个备份。如果需要重装Ubuntu时,可以把备份还原回去。这样就不需要连上网络去大量更新系统软件包了ubuntu apt-get 下载的软件包放在 /var/cache/apt/archives删除缓存1,非常有用的清理命令: sudo apt-get autoclean 清理旧版本的软件

2017-11-09 19:30:20 2724

原创 Linux vim编译器全部命令

1 yy :复制光标所在的这一行 2 4yy :复制光标所在向下的4行 3 p : 粘贴 4 dd :剪切光标所在的这一行 5 d0 : 从当前的光标开始剪切,一直到行首 6 2dd :剪切光标所在下的两行 7 D:从当前的光标开始剪切,一直到行末 8 x: 删除当前的光标,每次只会删除一个 9 X :删除当前光标的前一个,每次只会删除一个 10 dw:删除光标

2017-10-29 16:14:40 330 1

原创 ubuntu ls命令详细参数

-a 列出目录下的所有文件,包括以 . 开头的隐含文件。 -b 把文件名中不可输出的字符用反斜杠加字符编号(就象在C语言里一样)的形式列出。 -c 输出文件的 i 节点的修改时间,并以此排序。 -d 将目录象文件一样显示,而不是显示其下的文件。 -e 输出时间的全部信息,而不是输出简略信息。 -f -U 对输出的文件不排序。 -g 无用。 -i 输出文件的 i 节点的索引信息。 -

2017-10-15 10:48:07 7656 1

原创 std::ios::sync_with_stdio(false); cin.tie(0);

我们都知道C++的运行速度不如C的,那么主要的原因是C++的输入输出流兼容了C的输入输出,因此,C++的速度才会变慢,如果我去掉C++的输入输出的兼容性的话,速度就可C的差不多了,大家可以实验一下#include<iostream>using namespace std;int main(){ std::ios::sync_with_stdio(false); cin.tie(0);

2017-09-29 17:37:04 3486 1

原创 解决 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)

在ubuntu系统的termial下,用apt-get install 安装软件的时候,如果在未完成下载的情况下将terminal close。此时 apt-get进程可能没有结束。结果,如果再次运行apt-get install 命令安装如今,可能会发生下面的提示:       无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)       无

2017-07-21 21:09:44 927

原创 hdu 5706 GirlCat(DFS)

Problem Description As a cute girl, Kotori likes playing Hide and Seek'' with cats particularly. Under the influence of Kotori, many girls and cats are playingHide and Seek” together. Koroti shots a

2017-05-03 19:15:07 376

原创 hdu 4771 Stealing Harry Potter's Precious(bfs+dfs)

Stealing Harry Potter's PreciousTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3717 Accepted Submission(s): 1643Problem Description  Harr

2017-05-03 15:49:08 365

libxml2-master.zip

libxml2是一个C语言的XML库,能简单方便的提供对XML文件的各种操作.

2019-10-19

空空如也

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

TA关注的人

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