自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一亩三分地

好记性不如烂笔头

  • 博客(57)
  • 收藏
  • 关注

原创 java发送邮件

闲来无事,写个java发送邮件玩玩。核心代码如下:private boolean mailSend (String fromMail,String toMail,String subject,String strContext){ try { Properties props = new Properties(); props.put("mail.transport.p

2015-03-16 17:59:40 438

转载 深入理解const char*p,char const*p,char *const p,const char **p,char const**p,char *const*p,char**const p

一、可能的组合:(1)const char*p(2)char const*p(3)char *const p(4)const char **p(5)char const**p(6)char *const *p(7)char **const p当然还有在(5)、(6)、(7)中再插入一个const的若干情况,不过分析了以上7中,其他的就可类推了!二、理解助记法宝:

2013-08-26 10:43:49 508

转载 java正则表达式

[正则表达式]文本框输入内容控制 整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$ 只能输入数字:"^[0-9]*$"。 只能输入n位的数字:"^\d{n}$"。 只能输入至少n位的数字:"^\d{n,}$"。 只能输入m~n位的数字:。"^\d{m,n}$" 只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"。 只能输入有两位小数的正实

2013-07-15 12:49:13 519

转载 MySQL和PostgreSQL对比

特性MySQLPostgreSQL实例通过执行 MySQL 命令(mysqld)启动实例。一个实例可以管理一个或多个数据库。一台服务器可以运行多个 mysqld 实例。一个实例管理器可以监视 mysqld 的各个实例。通过执行 Postmaster 进程(pg_ctl)启动实例。一个实例可以管理一个或多个数据库,这些数据库组成一个集群。集群是磁盘上的一个区域,这个区

2013-07-09 16:49:43 576

转载 fork与vfork的区别

fork()与vfock()都是创建一个进程,那他们有什么区别呢?总结有以下三点区别: 1.  fork  ():子进程拷贝父进程的数据段,代码段     vfork ( ):子进程与父进程共享数据段 2.  fork ()父子进程的执行次序不确定     vfork 保证子进程先运行,在调用exec 或exit 之前与父进程数据是共享的,在它调用exec     或exit

2013-06-18 14:17:48 456

转载 DNS解析过程详解

先说一下DNS的几个基本概念:   一. 根域就是所谓的“.”,其实我们的网址www.baidu.com在配置当中应该是www.baidu.com.(最后有一点),一般我们在浏览器里输入时会省略后面的点,而这也已经成为了习惯。根域服务器我们知道有13台,但是这是错误的观点。根域服务器只是具有13个IP地址,但机器数量却不是13台,因为这些IP地址借助了任播的技术,所以我们可

2013-06-04 10:50:47 705

转载 Linux进程间通信

一、进程间通信概述进程通信有如下一些目的:A、数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M字节之间B、共享数据:多个进程想要操作共享数据,一个进程对共享数据的修改,别的进程应该立刻看到。C、通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程)。D、资源共享:多个进程之间共享同样的资源。为了作

2013-05-18 15:57:42 437

转载 两个数相乘,小数点后位数没有限制,请写一个高精度算法

算法提示:           输入 string a, string b; 计算string c=a*b; 返回 c;1,    纪录小数点在a,b中的位置l1,l2, 则需要小数点后移动位置数为l=length(a)+length(b)-l1-l2-2;2,    去掉a,b中的小数点,(a,b小数点后移,使a,b变为整数)3,    计算c=a*b; (同整数的大

2013-04-19 15:33:19 1432

原创 不使用其他变量,交换两个整型a,b的值

方法一(异或):void swap(int &a,int &b){ if(a!=b) { a=a^b; b=b^a; a=a^b; }}方法二(算数方法):void change(int &x,int &y){ x=x+y; y=x-y; x=x-y;}

2013-04-19 15:25:00 872

原创 C语言函数的调用语句fun((exp1,exp2),(exp3,exp4,exp5))中含有的实参个数有多少个

C语言函数的调用语句fun((exp1,exp2),(exp3,exp4,exp5))中含有的实参个数有多少个?2个实参,分别是exp2和exp5。逗号表达式,它将以逗号为界,从左到右依次计算每个表达式的值,最后返回最右边的表达式的值1.形参是定义声明函数的时候才有的,像float fun(int a,int b),a 和 b都是形参,前面要注明数据类型。2.实参是函数调用的时候才

2013-04-19 15:12:14 28458

原创 公有IP和私有IP

在现在的网络中,IP地址分为公网IP和私有IP地址。公网IP是在Internet使用的IP地址,而私有IP地址是在局域网中使用的IP地址。 由于我们目前使用的IP V4协议的限制,现在IP地址的数量是有限的。这样,我们就不能为居于网中的每一台计算机分配一个公网IP。所以,在局域网中的每台计算机就只能使用私有IP地址了,如我们常见的192.168.0.*,就是私有IP地址。私有I

2013-04-16 19:32:37 790

原创 OSI七层模型

一、简介OSI(Open System Interconnection),开放式系统互联参考模型 。是一个逻辑上的定义,一个规范,它把网络协议从逻辑上分为了7层。每一层都有相关、相对应的物理设备,比如常规的路由器是三层交换设备,常规的交换机是二层交换设备。OSI七层模型是一种框架性的设计方法 ,建立七层模型的主要目的是为解决异种网络互连时所遇到的兼容性问题,其最主要的功能就是帮助不同类型的

2013-04-16 11:09:26 541

转载 详解大端模式和小端模式

详解大端模式和小端模式一、大端模式和小端模式的起源        关于大端小端名词的由来,有一个有趣的故事,来自于Jonathan Swift的《格利佛游记》:Lilliput和Blefuscu这两个强国在过去的36个月中一直在苦战。战争的原因:大家都知道,吃鸡蛋的时候,原始的方法是打破鸡蛋较大的一端,可以那时的皇帝的祖父由于小时侯吃鸡蛋,按这种方法把手指弄破了,因此他的父亲,就下令,命令

2013-04-16 10:07:49 485

转载 内存管理

一. 分页存储管理1.基本思想用户程序的地址空间被划分成若干固定大小的区域,称为“页”,相应地,内存空间分成若干个物理块,页和块的大小相等。可将用户程序的任一页放在内存的任一块中,实现了离散分配。2. 分页存储管理的地址机构|15          12|11                  0||     页号P   |页内位移量W|页号4位,每个作业最多2的4次方=1

2013-04-12 09:51:02 791

转载 linux中fork()函数详解

一、fork入门知识     一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。    一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来的进

2013-04-10 21:04:08 393

转载 sql执行顺序

SQL 不同于与其他编程语言的最明显特征是处理代码的顺序。在大数编程语言中,代码按编码顺序被处理,但是在SQL语言中,第一个被处理的子句是FROM子句,尽管SELECT语句第一个出现,但是几乎总是最后被处理。      每个步骤都会产生一个虚拟表,该虚拟表被用作下一个步骤的输入。这些虚拟表对调用者(客户端应用程序或者外部查询)不可用。只是最后一步生成的表才会返回 给调用者。如果没有在查询中指定

2013-04-10 19:58:34 470

转载 浙江大华2011.10.10校园招聘会笔试题

请写出下面程序的输出结果:(答案在下面)1、int count = 3;int main(void){ int i, sum, count = 2; for(i=0,sum=0; i<count; i+=2,count++) { static int count = 4; count++; if(i%2 == 0) { extern in

2013-04-09 20:21:15 871

转载 搜狗2011笔试题+答案解析

1、下面两段代码中for循环分别执行了多少次?unsigned short i,j; for(i=0, j=2; i!=j; i+=5, j+=7) {} unsigned short i,j; for(i=3,j=7;i!=j;i+=3,j+=7) 2、下面程序应该输出多少?char *c[] = { "ENTER", "NEW", "POINT", "FIR

2013-04-09 19:08:28 688

转载 运算符优先级

优先级操作符描述例子结合性1()[]->.::++--调节优先级的括号操作符数组下标访问操作符通过指向对象的指针访问成员的操作符通过对象本身访问成员的操作符作用域操作符后置自增操作符后置自减操作符(a + b) / 4;array[4] = 2

2013-04-09 18:58:28 470

转载 C++中虚函数工作原理和(虚)继承类的内存占用大小计算

一、虚函数的工作原理      虚函数的实现要求对象携带额外的信息,这些信息用于在运行时确定该对象应该调用哪一个虚函数。典型情况下,这一信息具有一种被称为 vptr(virtual table pointer,虚函数表指针)的指针的形式。vptr 指向一个被称为 vtbl(virtual table,虚函数表)的函数指针数组,每一个包含虚函数的类都关联到 vtbl。当一个对象调用了虚函数,实际

2013-04-09 16:44:55 555

原创 #define陷阱题

#include "stdafx.h"#includeusing namespace std;#define N 3#define Y(n) ((N+1)*n)int _tmain(int argc, _TCHAR* argv[]){ int z=2*(N+Y(5+1)); cout<<z<<endl; return 0;}答案:48#d

2013-04-09 15:22:35 735

转载 腾讯2012实习生笔试题2+答案解析

1、计算表达式x6+4x4+2x3+x+1最少需要做()次乘法A、3 B、4 C、5 D、62、给定3个int类型的正整数x,y,z,对如下4组表达式判断正确的选项()int a1=x+y-z; int b1=x*y/z;int a2=x-z+y; int b2=x/z*y;int c1=x>z; int d1=x&y|z;int c2=x>>zA、a1一定等于a2

2013-04-09 09:57:17 830

转载 腾讯2011.10.15校园招聘会笔试题

1、下面的排序算法中,初始数据集的排列顺序对算法的性能无影响的是(B)A、插入排序 B、堆排序 C、冒泡排序 D、快速排序2、以下关于Cache的叙述中,正确的是(B)A、CPU中的Cache容量应大于CPU之外的Cache容量B、Cache的设计思想是在合理成本下提高命中率C、Cache的设计目标是容量尽可能与主存容量相等D、在容量确定的情况下,替换算法的时间复杂度是

2013-04-08 22:49:52 465

转载 已知rand7(),求rand10().

已知有个rand7()的函数,返回1到7随机自然数,让利用这个rand7()构造rand10() 随机1~10。//根据排列组合,连续算两次rand7出现的组合数是7*7=49,这49种组合每一种出现考虑是相同的。//怎么从49平均概率的转换为1到10呢?//方法是://1.rand7执行两次,出来的数为a1.a2.//2.如果a1*7+a2=40,重复第一步)int

2013-04-08 22:41:25 774

转载 typedef和#define的用法及区别

typedef和#define的用法与区别 一、typedef的用法在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像:typedef int INT;typedef int ARRAY[10];typedef (int*) pINT;typedef可以增强程序的可读性,以及标识符的灵活性,但

2013-04-08 21:54:55 448

原创 sizeof 与strlen

#include "stdafx.h"#includeusing namespace std;void Func(char str_arg[100]) { cout<<sizeof(str_arg)<<endl;//4,退化为指针 cout<<strlen(str_arg)<<endl;//5,实际字符串的长度} int main(void)

2013-04-08 15:56:07 494

转载 sizeof--32位和64位操作系统的区别

64位对比32位,最主要的区别就是long和指针的字节变成8了;及其size_t等定义类型也为8字节;运行结果如下:(分别用蓝色和红色标记了两者的差异)——————————————————————————机器平台:X86_64 处理器操作系统:Red Hat 4.1.2-14编译器: gcc version 4.1.2 20070626Size of char

2013-04-08 14:20:39 4930

转载 C/C++中static关键字详解

静态变量作用范围在一个文件内,程序开始时分配空间,结束时释放空间,默认初始化为0,使用时可以改变其值。静态变量或静态函数只有本文件内的代码才能访问它,它的名字在其它文件中不可见。用法1:函数内部声明的static变量,可作为对象间的一种通信机制如果一局部变量被声明为static,那么将只有唯一的一个静态分配的对象,它被用于在该函数的所有调用中表示这个变量。这个对象将只在执行线程第一次到

2013-04-03 16:01:18 485

转载 C++类的虚函数详解

前言C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我在这里不

2013-04-01 20:31:49 1350

转载 C++类构造函数详解

一、 构造函数是干什么的class Counter{public:         // 类Counter的构造函数         // 特点:以类名作为函数名,无返回类型         Counter()         {                m_value = 0;         }         private:

2013-04-01 20:22:06 499

转载 C++中类的初始化列表

初始化列表的成员初始化顺序:C++初始化类成员时,是按照声明的顺序初始化的,而不是按照出现在初始化列表中的顺序。Example:class CMyClass{ CMyClass(int x,int y); int m_x; int m_y;};CMyClass::CMyClass(int x,int y) : m_y(y), m_x(m_y)

2013-04-01 19:51:11 396

原创 计数排序

一.排序分析:非比较排序参考《算法导论》二.代码(C++):// count_sort.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#includeusing namespace std;void count_sort(int *a,int *b,int *c,int n,int k);int _tmain(in

2013-03-31 21:42:40 395

原创 归并排序

一.排序分析:归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。归并操作(merge),也叫归并算法,指的是将两个已经排序的序列合并成一个序列的操作。如 设有数列{6,202,100,301,38,8,1}初始状态: [6] [202] [100] [301]

2013-03-31 20:48:04 403

原创 堆排序(最大堆)

一.排序分析堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。二叉堆的定义:二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。2.每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。当父结点的键值总是大于或等于任何一个子节点的键值时为最大堆。当父结点的

2013-03-31 20:06:36 565

原创 直接选择排序

一.排序分析思想:每次从非排序区选择最小的记录,将其与非排序区的第一个记录交换。直接选择排序     在n个记录的文件的直接选择排序可以经过n-1趟直接选择排序得到的有序结果。     (1)初始状态:无序区【1..n】,有序区为空。     (2)第1趟排序     在无序区R[1..n]中选出关键字最小的记录R[k],将它与无序区的第1个记录R[1]交换,使R[1..1

2013-03-31 16:07:20 392

原创 快速排序

一.排序分析参看《算法导论》二.代码(C++)// sort.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include#includeusing namespace std;#define NUM 10void Quick_Sort(int *a,int low,int high);int partiti

2013-03-31 15:44:28 385

原创 冒泡排序

一.排序分析:冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不

2013-03-31 15:19:03 403

原创 插入排序

一.排序分析:插入排序就是每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。二.代码(C++)// sort.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include#includeusing namespace std;#define NUM 10void Insert_

2013-03-31 15:08:17 403

转载 二叉树

二叉树的重要特性:  二叉查找树(二叉排序树) 平衡二叉树(AVL树)

2013-03-30 23:21:13 504

转载 斐波那契数列时间复杂度分析

题目:定义Fibonacci数列如下:        /  0                      n=0f(n)=      1                      n=1        \  f(n-1)+f(n-2)          n=2输入n,用最快的方法求该数列的第n项。分析:在很多C语言教科书中讲到递归函数的时候,都会用Fibonacci作为例子。因

2013-03-27 10:02:05 1014

空空如也

空空如也

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

TA关注的人

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