自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(150)
  • 资源 (8)
  • 收藏
  • 关注

原创 运算符优先级问题

1) 前置 ++ 和 * 的优先级是相同,都是从右向左结合2) 后置++的优先级高于 *和前置++, 后置++从左向右结合

2015-11-23 17:58:24 739

翻译 线程(Threads)

线程(Threads)std::thread 类代表一个可执行的线程,在 下。std::thread 可以和普通函数,lambdas 函数,仿函数(实现了 opertor() 的类)一起工作。此外,它允许你为你的线程函数传入任意数量的参数。#include <thread>void func(){ // do some work}int main(){ std::thread

2015-11-19 10:26:34 905

转载 c++ 智能指针用法详解

本文介绍c++里面的四个智能指针: auto_ptr, shared_ptr, weak_ptr, unique_ptr 其中后三个是c++11支持,并且第一个已经被c++11弃用。为什么要使用智能指针:我们知道c++的内存管理是让很多人头疼的事,当我们写一个new语句时,一般就会立即把delete语句直接也写了,但是我们不能避免程序还未执行到delete时就跳转了或者在函数中没有执行到最

2015-11-09 17:18:43 665

转载 Median of two sorted arrays

Question: There are 2 sorted arrays A and B of size n each. Write an algorithm to find the median of the array obtained after merging the above 2 arrays(i.e. array of length 2n). The complexity shou

2015-08-17 23:35:31 623

转载 QT控件的visible属性

很多QT的新手设置是老手在使用QT控件的visible属性的时候,很容易犯错。比如show()或者setVisible(true)后,isVisible()应该返回true吧?但其实QT控件的visible属性是一个综合属性:“Calling setVisible(true) or show() sets the widget to visible status if all its parent

2015-04-24 10:04:31 11678 1

转载 C++ 11 Lambda表达式

C++ 11#include #include #include using namespace std;class CTest{public: CTest() : m_nData(20) { } void Lambda() { vector vctTemp; vctTemp.p

2015-04-03 14:13:15 434

转载 Qt之美(一):D指针/私有实现

The English version is available at: http://xizhizhu.blogspot.com/2010/11/beauty-of-qt-1-d-pointer-private.html  相信不少刚开始阅读Qt源代码的朋友在看到其中的Private类和诸如Q_D、Q_Q等宏时都会思考,为什么Qt要用这样一个设计模式呢?这样一段增加了不少

2015-03-19 11:17:42 728

转载 Qt4过渡至Qt5

技术在不断进步,新知识也理应不断学习!Qt5的发布带给我无尽的好奇心,然而,受项目影响,一直使用VS2008+Qt4.8.3也未曾及时更新。这几天,果断装上VS2010+Qt5.1.0,开始研究。Qt4过渡到Qt5不算显著,然而,“模块化”的Qt代码需要项目配置的变化,如使用“headers”,和配置项目构建(如改变*.pro文件)。QtWidgets作为一个独立的模块

2015-02-09 14:35:26 731

转载 编译和使用QFtp,及中文乱码问题

Qt5.0以后,将QFtp移除了,推荐使用QNetworkAccessManager。根据官方的建议使用QNetworkAccessManager进行开发,实现Ftp的上传和下载功能,但当先要实现获取文件列表显示时,却发现有些原本QFtp有的功能,QNetworkAccessManager却没有提供,如获取远程FTP服务器列表功能list(),新建文件夹mkdir()等功能。(更多区别请查看Q

2015-02-09 08:56:38 1657

转载 获取本机IP地址

获取本机IP地址的方法QList addrs = QNetworkInterface::allAddresses();for(int i = 0; i < addrs.size(); i++){ if (addrs.at(i).protocol() == QAbstractSocket::IPv4Protocol && addrs.at(i) != QHos

2014-12-29 10:29:04 848

转载 QTextEdit捕捉回车信号

QTextEdit输入完毕之后敲回车键就能够将信息发送出去,但是遗憾的是,QTextEdit并不像QLineEdit那样,有一个enterPressed信号,取而代之的是,当你敲回车键的输入,只是起到输入换行的效果。于是我尝试着像QQ那样,以Ctrl + Enter组合键发送消息。经过查阅多方资料之后,找到了捕捉Ctrl + Enter 组合键的方法。首先定义MainWindow中的

2014-12-26 09:47:36 5364

转载 Qt编程图标设置

Qt图标设置包含两个方面,一个是给程序的窗口设置图标,另一个是给exe文件设置图标。给窗口设置图标只要在主窗口实例的类的构造函数中加上下面这段代码就好了:setWindowIcon(QIcon(":/path.ico"));其中的 path.ico是图标的路径,图标可以是各种格式的图片。给exe程序设置图标这个稍微繁琐一些。在项目的目录下

2014-12-26 08:31:04 545

转载 SVN服务器搭建和使用

http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2407610.htmlhttp://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2407979.html

2014-12-16 09:24:40 479

原创 虚函数能否是内联的

虚函数被用于运行时多态或晚绑定或

2014-08-27 20:10:06 2863 2

转载 Qt模型类

在模型/视图架构中,模型提供一个标准的接口供视图和委托(view/delegate)用来访问数据。在Qt中,这个标准的接口是由类QAbstractItemModel定义的。无论底层数据结构中的数据是如何存储的,类QAbstractItemModel的所有子类都将数据表示为一个包含由数据项组成的表格的层次型结构。视图按照这个约定来访问模型中的数据项,但是它们将信息展示给用户的时候不需要这样来做。

2014-07-08 07:57:29 1345

原创 C++ Primer — const小问题

#include using namespace std;class Base{ public: virtual void display() const { cout << "Base class !" << endl; } virtual ~Base(){}};class Derive: public Base{ public: virtu

2013-11-09 22:02:23 632

原创 C++ Primer学习笔记 — 复制控制与继承

只包含类类型或内置类型数据成员、不含指针的类一般可以使用合成操作,复制、赋值或撤销这样的成员不需要特殊控制。具有指针成员的类一般需要定义自己的复制控制来管理这些成员1.定义派生类复制构造函数注解:如果派生类显式定义自己的复制构造函数或赋值操作符,则该定义将完全覆盖默认定义。被继承类的复制构造函数和赋值操作符负责对基类成分以及类自己的成员进行复制或赋值。如果派生类定义了自己的复制构造函数

2013-11-09 16:02:55 759

原创 C++ Primer 学习笔记 — 复制控制

复制控制详细介绍——复制构造函数、赋值构造函数和析构函数

2013-11-06 15:18:53 973

原创 C++ Primer 学习笔记 — 友元

友元机制允许一个类将对其非公有成员的访问权授予指定的函数或者类。友元的声明以关键字friend开始,只能出现在类定义的内部,友元的声明可以出现在类内部的任何地方。通常,将友元成组地放在类的开始或者结尾是个好主意。1.友元关系:一个例子class Screen{//声明一个友元类,该类必须提前定义friend class Window_Mgr;};//Window_Mgr

2013-11-05 20:54:56 805

原创 C++ Primer 学习笔记 — 隐式类类型转换

1.了解explicit用来防止由构造函数定义的隐式转换。要明白它的作用,首先要了解隐式转换:可以用单个实参来调用的构造函数定义了从形参类型到该类类型的一个隐式转换。#include #include using namespace std;class Fruit //定义一个类,名字叫Fruit{ public: Fruit(){}Fru

2013-11-04 22:10:58 1939

原创 Java中的final关键字

1. final修饰符1.1. final成员变量final修饰变量时,该变量一旦获得了初始值之后就不可改变,final既可以修饰成员变量(包括类变量和实例变量),也可以修饰局部变量、形参。final修改的类属性、实例属性能指定初始值的地方如下:②  类属性:可在静态初始化块中、声明该属性时指定初始值②  实例属性:可在非静态初始化块、声明该属性、构造器中指定初始值pa

2013-11-03 19:33:38 667

原创 LinkedList和ArrayList的区别

LinkedeList和ArrayList都实现了List接口,但是它们的工作原理却不一样。它们之间最主要的区别在于ArrayList是可改变大小的数组,而LinkedList是双向链接串列(doubly LinkedList)。ArrayList更受欢迎,很多场景下ArrayList比LinkedList更为适用。LinkedList和ArrayList的区别LinkedList和A

2013-11-03 19:10:23 988

原创 实现LRU Cache

#include #include #include using namespace std;using namespace stdext;templatestruct LRUCacheEntry{ K key; T data; LRUCacheEntry* prev; LRUCacheEntry* next;};templateclass LRUCache{

2013-11-02 16:15:01 802

原创 C语言实现四则运算

#include #include #include #include //判断运算符的优先级函数 int Precede(char a, char b) { switch (a) { case '*': case '/': if ((b == '+') || (b == '-')) {

2013-10-10 11:31:04 7168

原创 排序算法之选择排序

选择排序算法思想:每一趟在n-i+1(i = 1,2,···,n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录#include void select_sort(int a[],int n){ int i,j,minindex,t; for(i=0;i<n-1;i++) { minindex = i; for(j=i+1;j<n;j++)

2013-09-22 21:10:58 622

原创 排序算法之冒泡排序

冒泡排序算法的运作如下:1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。3. 针对所有的元素重复以上的步骤,除了最后一个。4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。#include void bubble(int a[],

2013-09-22 20:49:23 712

原创 排序算法之快速排序

1、算法思想     快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。(1)分治法的基本思想     分治法的基本思想是:将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解这些子问题,然后将这些子问题的解组合为原问题的解。(2)快速排序的基本思想 

2013-09-22 20:33:40 623

原创 排序算法之插入排序

1.直接插入排序算法算法描述:一般来说,插入排序都采用in-place在数组上实现。具体算法描述如下:从第一个元素开始,该元素可以认为已经被排序取出下一个元素,在已经排序的元素序列中从后向前扫描如果该元素(已排序)大于新元素,将该元素移到下一位置重复步骤3,直到找到已排序的元素小于或者等于新元素的位置将新元素插入到该位置后重复步骤2~5#include void i

2013-09-22 20:13:22 779

原创 排序算法之归并排序

归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用,归并排序将两个已排序的表合并成一个表。归并排序基本原理:    通过对若干个有序结点序列的归并来实现排序。    所谓归并是指将若干个已排好序的部分合并成一个有序的部分。归并排序基本思想:设两个有序的子序列(相当于输入序列)放在同一序列中相邻的位置

2013-09-22 17:07:26 681

原创 字符串转换成数字

字符串转换成数字#include #include #define MAX 2147483647int stoi(char *s){ int val,i,sign; if(s == NULL) return 0; for(i=0;isspace(s[i]);i++) ; sign = (s[i] = '-')? -1:1;

2013-09-20 10:25:28 778

原创 char amessage[] = "the time";与char *pmessage = "the time";区别

char amessage[] = "the time"与char *pmessage = "the time"的区别char amessage[] = "the time"; //定义一个数组char *pmessage = "the time"; //定义一个指针amessage是一个仅仅足以存放初始化字符串和空字符'\0'的一维数组,数组中的每个单词可以进行修改

2013-09-19 20:42:49 951

原创 编程实现字符中各单词的翻转

例如:“I am from BeiJing”倒置为“BeiJing from am I”方法1:先将每个单词翻转,然后翻转整个句子#include using namespace std;void Revese(char *str){ char *start=str,*end=str,*ptr=str; //开头,结尾,中间指针 while (*ptr++!='\0')

2013-09-17 21:40:32 1018

原创 阿里巴巴2014校园招聘算法题

题目:两个较长的单向链表a和b,为了找出及诶单noed满足node in a 并且node in b。请设计空间使用尽量小的算法(用c/c++,java 或者伪代码)思路:我们定义节点的距离为节点到链表开始所经过的节点数。如果两个链表长度相同,则相交节点其在两个链表上的距离一定相等。对于长度不同的两个链表,我们可以采用对齐的方式,使其向长度短的链表对齐。这样就可以应用上面的思路。具体算法如

2013-09-17 20:03:57 1401 2

原创 strcpy函数与memcpy函数的实现

1.已知:strcpy函数的原型是char * strcpy( char *strDest, const char *strSrc )要求:不调用库函数,实现strcpy函数char * strcpy( char *strDest, const char *strSrc ) { if(strDest == strSrc) //考虑内存重叠

2013-09-17 19:39:29 780

原创 蚂蚁爬木杆问题

题目如下:有一根27厘米的细木杆,在第3厘米、7厘米、11厘米、17厘米、23厘米这五个位置上各有一只蚂蚁。木杆很细,不能同时通过两只蚂蚁。开始时,蚂蚁的头朝左还是朝右是任意的,它们只会朝前走或调头,但不会后退。当任意两只蚂蚁碰头时,两只蚂蚁会同时调头朝反方向走。假设蚂蚁们每秒钟可以走一厘米的距离。编写程序,求所有蚂蚁都离开木杆 的最小时间和最大时间。来个形象的小图:

2013-09-17 18:56:03 1128

原创 6.M设想有三个碗。A碗(8升容量)里有5升水。B碗(5升容量)里有3升水。C碗(3升容量)里有2升水。 你能只倒两次而准确地量出1升水吗?

问题:M设想有三个碗。A碗(8升容量)里有5升水。B碗(5升容量)里有3升水。C碗(3升容量)里有2升水。 你能只倒两次而准确地量出1升水吗?1. 从A碗倒1升水到C碗。那么A碗里有4升水,C碗里满的(3升)。2. 从C碗倒2升水到B碗。那么B碗满了(5升),C碗里剩下1升。

2013-09-17 10:09:17 2397

原创 5.准确量出2升水,如果你有4升和5升的碗

问:准确量出2升水,如果你有:4升和5升的碗第一,装满5升碗,倒进4升碗里倒满,然后把4升碗里的水倒掉。再把剩下的1升水倒进4升碗里。重新装满5升碗,从5升碗里倒水进4升碗装满(本来就有1升水).这样,就剩下2升水在5升碗里了。第二,同样的道理-这次反过来。先倒满3升碗,把3升碗里的水倒进4升碗。重新装满3升碗,倒满4升碗。这样你就有2升水在3升碗里了。

2013-09-17 10:08:14 2008

原创 3.你有三个碗:分别是7,4,3升容量。只有7升那个是满的。用最少次数倒出分别是2,2,和3升水。

问:你有三个碗:分别是7,4,3升容量。只有7升那个是满的。用最少次数倒出分别是2,2,和3升水。每组数里的每个数字代表每个碗里水的升数:700-340-313-610-601-241-223(倒6次水)

2013-09-17 10:06:51 1378

原创 4.你怎样只用4升和9升的碗量出六升水?

问:你怎样只用4升和9升的碗量出六升水?先装满9升的碗。然后倒4升水到4升碗里(9升碗里剩下5升水),把4升碗里的水倒掉。然后把9升碗里剩下的5升水倒进4升碗里,再倒掉。再把剩下的水倒进4升碗里,这次不要倒掉。第二次装满9升碗,把4升碗里装满。那么现在9升碗里的水就剩下6升了。

2013-09-17 10:06:30 6067

原创 1.如果你用一个五公升和一个三公升的碗去量水。你怎样量出准确的四公升水?

问:如果你用一个五公升和一个三公升的碗去量水。你怎样量出准确的四公升水?装满5升的碗,然后倒进3升的碗,然后把3升碗里的水倒掉,再把5升碗里剩下的2升水倒进3升的碗。重新装满5升碗,倒满3升的碗(1升水),那么5升碗里就剩下4升水了。

2013-09-17 10:05:21 1817

北京圣思园hibernate源码

北京圣思园张龙老师Hibernate课程源码

2012-12-07

JSP基础教程(清华大学出版社,附带书签和索引)

学习JSP必备书籍,非常不错,适合初学者使用

2012-09-23

Spring_API_3.2.0(官网最新Spring参考手册)

官网最新Spring参考手册,附带索引和搜索,学习Spring 必备工具

2012-09-20

Spring_API 帮助文档

学习Spring的必备参考手册,最新版本,附带索引和查找的

2012-09-20

精通JAVA-JDK、数据库系统开发WEB开发

java基础、Web开发、数据库系统开发,适合于初学者学习

2012-08-25

STK官方资源参考

相当不错的STK参考资料,希望大家下载看看,多多学习和交流,有好东西当然要一起分享

2011-11-29

空空如也

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

TA关注的人

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