- 博客(47)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 gdb
一、gdb简介gdb简单的来说就是调BUG的,不管是在windows还是linux 都可以使用,供调试代码用的工具。二、linux下gdb的安装1.sudo apt-get update 2.sudo apt-get install gdb三、gdb的使用1.编写源文件如test.c2.使用gcc编译,注意需要加上-g参数gcc -o test.exe -g tes
2016-03-12 12:19:17 492
原创 MFC 文件对话框类CFileDialog
文件对话框分为打开文件对话框和保存文件对话框。打开文件对话框用于选择打开的文件的路径,保存文件对话框用来选择要保存问价的路径。CFileDialog类的构造函数原型如下:explicit CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL,
2016-02-19 12:59:18 1642
原创 MFC:定时器Timer
这里简单介绍一下mfc下定时器的使用。MFC定时器相关的几个函数分别是SetTimer,OnTimer,killTimer。粗略的说,SetTimer是设置一个计时器并开始执行计时器OnTimer中的代码,OnTimer是计时器所执行的代码。KillTimer用于停止计时器。先分别介绍,后面给出使用例子。SetTimer原型:Uint_PTR SetTimer(UINT_PTR n
2016-02-18 16:24:07 862
原创 ubuntu apt-get 安装软件时package has no installtion candidate问题
我是在安装GCC时遇到的错误。一开始我的源就不是很对,错误一大堆。比如,安装软件时报the following package have unmet dependencied............E:Uable to cottect problems,you have held broken package.还比如:E:Package has no inatallio
2015-11-23 20:37:05 1753
原创 360笔试题--找老乡
、思路:先对每组人员进行比较,保证较小的编号在a组中,然后根据a组进行排序。设定一个标志位数组,对应的每一位代表人物编号,值就是是否与1号人物是老乡。具体见代码。#includeusing namespace std;int main(){ int N,M; int count = 0; while(cin>>N>>M) {//循环输入 if(0==N&&0==M)
2015-10-06 11:43:37 987
原创 类成员函数作为线程函数的几种方法
首先,类成员函数是不能够直接被当做线程的成员函数使用。原因是,类中定义的成员函数,编译器会给其加上this指针。解决方案有如下:1.把成员函数声明成static类型,去掉this指针。但是这种方法有缺陷,以为在类中,静态成员函数只能够访问静态成员变量。因此不推荐这种方式。2.把线程函数设置成类的友元函数,这样线性函数同样可以访问类中的成员变量,这种方式比较常用。例如:#in
2015-10-05 22:19:11 3577
原创 字符串的拼接和拷贝的实现
字符数组和字符串是有区别的:char s1[] = "yzl";s1是一个字符数组,是个局部变量。char *s2 = "yzl";s2是一个字符串,是个全局变量,且字符串是只读的,有些对字符数组的操作,对字符串来说是行不通的,如下面的字符数组拼接fun(),而必须要用fun2();载入字符数组的拷贝yzlstrcpy();#include using namespace
2015-09-24 23:54:45 1244
原创 百度笔试题--钓鱼比赛
题目:两个人SS,CC钓鱼比赛。一个鱼塘里有n*m个区域,每个区域内钓到鱼的概率(以每一分钟计算)不同,CC每次只在一个固定位置(x,y)钓鱼,而SS每分钟都在一个随机的位子钓鱼。问经过t分钟,他们俩钓到至少一条鱼的概率更大,较大的概率是多少?输入:第一行五个整数,n,m,x,y,t;接下来一个n*m个矩阵,每行m个一位小数,共有n行,第i行j列的值表示钓鱼的概率p(0数据保证:1
2015-09-17 22:36:10 1430
转载 哈希查找
原文地址:http://blog.csdn.net/xiaoping8411/article/details/7706376哈希查找是通过计算数据元素的存储地址进行查找的一种方法。O(1)的查找,即所谓的秒杀。哈希查找的本质是先将数据映射成它的哈希值。哈希查找的核心是构造一个哈希函数,它将原来直观、整洁的数据映射为看上去似乎是随机的一些整数。哈希查找的操作步骤:1)
2015-09-16 16:22:35 526
原创 构造函数中成员变量初始化顺序问题
在定义类的对象的时候,如果类中有定义构造函数,则调用用户自己定义的构造函数,没有则调用默认构造函数。如果用户定义的构造函数是以参数列表的形式初始化成员变量,则成员变量的初始化顺序是按照成员变量的声明的顺序。具体看下面的例子和输出结果:#includeusing namespace std;int i=1;class A{private: int i1; in
2015-09-16 09:29:33 1809
原创 求字符串中字符最多的字符
输入一个字符串,求出这个字符串中最多的那个字符。题目中值限定是小写字符。思路:可采用类似于哈希表的方式来统计,表中存的数据就是对应字符出现的频率。具体看代码,有注释。int main(){ int max = 256;//输入的字符串的最大长度; char str[max];//保存输入的字符串 int count[26]={0};//利用数组建立哈希表,数组的小标对应
2015-09-16 09:14:28 636
原创 求1000阶乘的结果尾部0的个数
只要求出这1000个数中能够被分解成(2,5)的个数。例如125*8=1000,其中125 = 5*5*5;又因为分解出的2的个数要比5度,所以直接求出分解出出的5的个数就可以。#includeint main(){ int i=1; int count = 0; int temp; for(;i<=1000;i++) { temp
2015-09-14 11:01:40 1545
转载 数据库的四个范式
原文出自:http://blog.csdn.net/yahohi/article/details/75297101. 第一范式(1NF):属性不可拆分 或 无重复的列这个简单,就是一个属性不允许再分成多个属性来建立列。事实上,在目前的DBMS中是不可能拆分属性的,因为他们不允许这么做。2. 第二范式(2NF):完全函数依赖先讲讲什么是部分函数依赖。部分函
2015-09-14 10:56:32 849
原创 C++递归生成格雷码
一、格雷码(Gray Code)是一个数列集合,每个数使用二进位来表示,假设使用n位元来表示每个数字,任两个数之间只有一个位元值不同。例如以下为3位元的格雷码:000001011010110111101100 如果要产生n位元的格雷码,那么格雷码的个数为2^n.除了最高位(左边第一位),格雷码的位元完全上下对称(看上面列表),因此可以采用递归的方式实现格
2015-09-07 21:00:44 5831 2
原创 归并排序
一、归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并二、归并操作第一步:申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列第二步:设定两个指针,最初位置分别为
2015-09-06 18:26:08 426
原创 希尔排序 shell sort
一、希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因DL.Shell于1959年提出而得名。二、算法思想:1.先取一个小于n的整数d1作为第一个增量,把文件的全部记录分组。所有距离为d1的倍数的记录放在同一个组中。2在各组内进行直接插入排序。3.取第二个增量d2三、算法性能时间复
2015-09-06 16:37:10 610
原创 快速排序
快速排序(QuickSort)的基本思想是:通过一次排序后,将原数据分成两个部分,其中一个部分全部比另一个部分都要小或者都要大,然后递归对这两个部分进一步快速排序,最后得到数据的有序序列。算法过程 设待排数组是r[0]...r[n-1],首先任选一个数据(通常是数组的第一个元素)当做监测点。然后将所有小的数据放在他的前面,所有比它大的数据放在后面。最后递归快速排序两边的数据。快速排序不是一种稳
2015-09-04 10:47:50 556
原创 二叉排序树
一、二叉排序树(Binary Sort Tree)又称二叉查找树(Binary Search Tree),亦称二叉搜索树。二叉排序树或者是一棵空树,或者是具有下列性质的二叉树:(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;(2)若右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值;(3)左、右子树也分别为二叉排序树;(4)
2015-08-31 16:50:41 782
转载 关于c++中字符串的输入问题
转自:http://blog.sina.com.cn/s/blog_62f507e90100mm72.html现看示例程序:#includeusing namespace std;int main(){ const int ArSize = 20; char name[ArSize]; char dessert[ArSize];
2015-08-30 21:36:00 595
原创 哈夫曼树--最优二叉树
一、哈夫曼树(Haffman)树又称最优二叉树,是一类带权路径长度最短的树1.路径和路径长度在一棵树中,从一个结点往下可以达到的孩子或孙子结点之间的通路,称为路径。通路中分支的数目称为路径长度。若规定根结点的层数为1,则从根结点到第L层结点的路径长度为L-1。2.节点的权及带权路径长度若将树中结点赋给一个有着某种含义的数值,则这个数值称为该结点的权。结点的带权路径长度为:从根结点到
2015-08-30 15:49:00 943
原创 最大公约数,最小公倍数
一、最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个。a,b的最大公约数记为(a,b),同样的,a,b,c的最大公约数记为(a,b,c),多个整数的最大公约数也有同样的记号。求最大公约数有多种方法,常见的有质因数分解法、短除法、辗转相除法、更相减损法。与最大公约数相对应的概念是最小公倍数,a,b的最小公倍数记为[a,b]。二、求法:1.质因数分解法
2015-08-30 10:56:19 1043
原创 变量内存的分配情况
一、对于一个进程的内存空间而言,可以在逻辑上分成3个部分:代码区,静态数据区和动态数据区。动态数据区一般就是“堆栈”。“栈(stack)”和"堆(heap)"是两种不同的动态数据区。栈是线性结构,而堆是链式结构。全局变量和静态变量分配在静态数据区,初始化的全局变量和静态变量在一块区域,未初始化的在一个区域,分别地址是连续的。但是和局部变量的地址相差很远,是因为局部变量分配在动态数据区,声明连续
2015-08-29 10:59:22 832
转载 栈(stack)和堆(heap)的区别
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两
2015-08-28 20:13:37 473 1
转载 C++读写.mat文件
转自:http://blog.csdn.net/left_la/article/details/8206645最近在编写C++程序的过程中,需要使用matlab生成的.mat文件,于是查找了基本使用方法。我的计算机环境是win7 64位系统,VS2010,matlab R2010b。一、工程配置:1.C/C++->常规->附加包含目录 添加:MATLAB\R20
2015-08-17 22:24:04 1487
转载 SVM支持向量机
SVM是很好的一个分类器,网上一个很好的博客,现在转载如下:支持向量机SVM(一)支持向量机SVM(二)支持向量机(三)核函数支持向量机(四)支持向量机(五)SMO算法转自http://www.cnblogs.com/jerrylead
2015-08-13 09:33:17 582
原创 C++和MATLAB混合编程 mwArray 结构体传入
最近在看C++和MATLAB的混合编程,结构体这种复杂的数据类型,通过mwArray传入MATLAB的DLL文件中,是比较复杂的。下面通过一个小程序,来实现结构体转wmArray类型。VS2010和Matlab2012b混合编程 配置详解见:VS2010和Matlab2012b混合编程#include#include "MyAddLib.h"using namespace
2015-08-04 08:57:49 7207 4
原创 树与二叉树
一、树的定义及相关术语1.树的定义:树是有n(n>=0)个有限数据元素的集合。当n=0时,称这棵树为空树。其中非空树,(1)每个元素称为结点(node);(2)有一个特定的结点被称为根结点或树根(root)。(3)除根结点之外的其余数据元素被分为m(m≥0)个互不相交的集合T1,T2,……Tm-1,其中每一个集合Ti(12.相关术语:(1)节点的度:一个节点含有的子树的
2015-08-02 11:18:48 364
原创 栈和队列
一、栈栈是限制在表的一端进行插入和删除的线性表。栈的插入叫做进栈和入栈,删除叫出栈和退栈。栈又称为后进先出(Last In First Out)的线性表.下图是栈的示意图。栈的运算:(1)初始化栈Init_Stack(s):设置一个空栈。(2)判断栈空Empty_Stack(s):若栈s为空返回1,否者返回0.(3)入栈Push_Stack(s,x):在栈s的顶部插入一
2015-08-01 11:55:48 464
原创 链表 C++描述
链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一
2015-07-30 15:07:06 619
原创 VS2010和Matlab2012b混合编程 配置详解
一、Matlab中的操作1.编写MATLAB函数function [c]=MyAdd(a,b);c = a+b;这个函数实现两个a,b数相加,并返回c。2.MATLAB中编译文件在MATLAB中以此完成如下操作: >>mex -setup %选择VS2010然后一直选Y >>mbuild -setup %选择VS2010,然后一直选择Y >>mcc -
2015-07-26 10:40:57 5629
转载 时间复杂度
原文出自:http://blog.sina.com.cn/s/blog_50ce2abb0100vhem.html求解算法的时间复杂度的具体步骤是: ⑴ 找出算法中的基本语句; 算法中执行次数最多的那条语句就是基本语句,通常是最内层循环的循环体。 ⑵ 计算基本语句的执行次数的数量级; 只需计算基本语句执行次数的数量级,这就意味着只要保证基本语句执行次数的函数中的最高次幂
2015-07-25 15:32:32 296
原创 C++多态性
1.什么是多态性在面向对象的程序设计理论中,多态性的定义是:同一操作作用于不同的类的实例,将产生不同的执行结果,即不同类的对象收到相同的消息时,得到不同的结果。对象根据所接受的消息而做出动作,同样的消息被不同的对象接受时可能导致完全不同的行为,这种现象称为多态性。2.多态性分类(1)静态多态性也叫编译时多态性:通过函数重载和运算符重载实现。(关于函数重载这里不详细说明)(2
2015-07-21 09:34:43 380
原创 继承和派生
1.语法形式class 派生类名:[继承方式] 基类名{派生类的新增加的成员};构造派生类包含以下三个部分:(1)从基类接收成员。派生类把基类全部的成员(不包括构造函数和析构函数)接收过来。(2)调整从基类接收的成员。接收基类成员是程序人员不能选择的,但是程序人员可以对这些成员作某些调整。(3)在声明派生类时增加的成员。一般还应当自己定义派生类的构造函数和析构函数
2015-07-20 21:50:39 412
原创 C++中static类成员
如果在程序的任意点需要统计类类型对象的数量,或者指向类类型对象的内存自由存储区的一个指针,那么就要使用到static类成员。但是这样就会破坏封装性。static数据成员独立于任何对象,它不属于任何对象。类也可以定义static成员函数,static成员函数没有this形参,可以直接访问static数据成员,但是不能直接访问非static数据成员。static数据成员不是通过类的构造函数
2015-07-20 09:00:03 322
转载 C++中的友元函数及友元类
原作者是http://www.cnblogs.com/staring-hxs/p/3432161.html友元函数和友元类友元提供了不同类的成员函数之间、类的成员函数与一般函数之间进行数据共享的机制。通过友元,一个不同函数或另一个类中的成员函数可以访问类中的私有成员和保护成员。c++中的友元为封装隐藏这堵不透明的墙开了一个小孔,外界可以通过这个小孔窥视内部的秘密。友元的正确
2015-07-19 10:50:51 310
原创 堆排序
堆排序是利用对的性质进行排序的一种排序方法。1.什么是堆:堆可以看做是一个完全二叉树的储存结构,且非叶子节点不小于(或不大于)其孩子节点。若父节点不小于子节点(ki>=k(2i+1)并且ki>=k(2i+2))称为大根堆,即根节点的关键字值最大。反之,父节点不大于子节点(ki由于根节点(堆顶)始终是堆里面的最大值或者是最小值,因此可以利用这个性质进行排序。2.堆的排序思想(基于大根
2015-07-18 10:49:20 318
原创 C++中两种创建对象的方法
有如下声明的类class A{ //类的内容public: A(int ); ~A(); int Fun(int);private: int m;};方法一:类名 对象名(参数)A a();
2015-07-17 10:58:28 444
转载 机器学习-Logistic回归
转自http://blog.csdn.net/dongtingzhizi/article/details/15962797PDF 下载http://download.csdn.net/detail/lewsn2008/65474631.引言看了Stanford的Andrew Ng老师的机器学习公开课中关于Logistic Regression的讲解,然后又看了《机器学习实战》中的L
2015-06-26 19:20:10 426
原创 阿里的一个笔试题目,求积水体积。
如图题目要求。#include using namespace std;int Volume(int * Height,int n);int main(){ int sum = 0; int H[11] = {1,2,0,1,0,1,3,1,0,2,1} ; sum = Volume(H,11); cout<<sum<<endl; getchar(); retur
2015-04-10 10:05:14 1151 1
原创 求两个有序数组的中位数
#includeusing namespace std;double fun(int A[],int m,int B[],int n);int main(){ int A[]={1,1,1}; int B[]={2,2,3,4}; double X=fun(A,3,B,4); cout<<"X="<<X<<endl; getchar(); return 1;}double
2015-04-10 09:46:12 522 1
D3D渲染显示,调用StretchRect()函数,输出图像右侧出现黑边。
2016-10-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人