自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

转载 设计模式分类

设计模式主要分三个类型:创建型、结构型和行为型。 其中创建型有: 1、Singleton,单例模式:保证一个类只有一个实例,并提供一个访问它的全局访问。 2、Abstract Factory,抽象工厂:提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们的具体类。 3、Factory Method,工厂方法:定义一个用于创建对象的接口,让子类决定实例化哪一个类,Facto

2015-03-26 10:48:43 350

转载 进程的三大状态以及转换

第一部分:1.进程的三种基本状态进程在运行中不断地改变其运行状态。通常,一个运行进程必须具有以下三种基本状态。(1)就绪(Ready)状态当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态。(2)执行(Running)状态当进程已获得处理机,其程序正在处理机上执行,此时的进程状态称为执行状态。(3)阻塞

2015-03-26 10:37:36 1278

原创 同一进程中线程的共享资源以及独有资源

线程共享的环境包括:进程代码段、进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯)、进程打开的文件描述符、信号的处理器、进程的当前目录和进程用户ID与进程组ID。     进程拥有这许多共性的同时,还拥有自己的个性。有了这些个性,线程才能实现并发性。共享的资源:a. 堆  由于堆是在进程空间中开辟出来的,所以它是理所当然地被共享的;因此new出来的都是共享的(16位平

2015-03-26 09:59:06 2587

转载 HTTP协议详解

引言                                        HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of

2015-03-26 09:44:01 268

原创 ZigZag Conversion

题目:The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility)P A H NA

2015-03-25 16:59:34 388

原创 Compare Version Numbers

Compare two version numbers version1 and version2.If version1 > version2 return 1, if version1 version2 return -1, otherwise return 0.You may assume that the version strings are non-empty and co

2015-03-24 10:13:24 345

转载 strtol函数、strtod函数、strtoul函数

+----------------+|      strtol             |+----------------+i.e. string to longlong int strtol(const char *nptr, char **endptr, int base)strtol()会将nptr指向的字符串,根据参数base,按权转化为long int, 然

2015-03-24 09:43:20 2170 1

原创 Roman to Integer

题目Given a roman numeral, convert it to an integer.Input is guaranteed to be within the range from 1 to 3999.思路首先,学习一下罗马数字,参考罗马数字 罗马数字是最古老的数字表示方式,比阿拉伯数组早2000多年,起源于罗马 罗马数字有如下符号: 基本

2015-03-23 10:30:17 461

转载 vector容器的resize和reserve

vector 的reserve增加了vector的capacity,但是它的size没有改变!而resize改变了vector的capacity同时也增加了它的size!原因如下:      reserve是容器预留空间,但在空间内不真正创建元素对象,所以在没有添加新的对象之前,不能引用容器内的元素。加入新的元素时,要调用push_back()/insert()函数。      r

2015-03-22 18:26:26 436

原创 Moore’s voting algorithm

这个算法是解决这样一个问题:从一个数组中找出出现半数以上的元素算法的基本思想每次都找出一对不同的元素,从数组中删掉,直到数组为空或只有一种元素。 不难证明,如果存在元素e出现频率超过半数,那么数组中最后剩下的就只有e。当然,最后剩下的元素也可能并没有出现半数以上。比如说数组是[1, 2, 3],最后剩下的3显然只出现了1次,并不到半数。排除这种false positive情况的方法

2015-03-20 19:36:00 511

转载 TCP/IP三次握手四次挥手

一、TCP报文格式        TCP/IP协议的详细信息参看《TCP/IP协议详解》三卷本。下面是TCP报文格式图:图1 TCP报文格式         上图中有几个字段需要重点介绍下:        (1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。        (2)确认序号:Ack序号,占32位,只有A

2015-03-20 16:03:58 305

转载 友元函数以及重载函数

1.友元函数的简单介绍1.1为什么要使用友元函数在实现类之间数据共享时,减少系统开销,提高效率。如果类A中的函数要访问类B中的成员(例如:智能指针类的实现),那么类A中该函数要是类B的友元函数。具体来说:为了使其他类的成员函数直接访问该类的私有变量。即:允许外面的类或函数去访问类的私有变量和保护变量,从而使两个类共享同一函数。实际上具体大概有下面两种情况需要使用友元函数:(1)运算

2015-03-20 11:43:44 1329

转载 多态

1 什么是多态?多态性可以简单的概括为“1个接口,多种方法”,在程序运行的过程中才决定调用的机制程序实现上是这样,通过父类指针调用子类的函数,可以让父类指针有多种形态。2 实现机制举一个例子:#include class animal{public:void sleep(){cout}void breathe(){cout}};

2015-03-20 11:40:15 317

原创 STL的增长机制、以及内存释放机制

Vector是STL中最常见的容器,它占用的是一块连续分配的内存,从数据存储角度来讲,和数组极其相似,不同的是:数组是静态分配空间,一旦分配了空间的大小就不可以再改变了,而VECTOR是动态分配空间,随着元素的不断增加,它会按照自身的一套增长机制不断扩充自身的容量。扩容机制:      按照容器现有容量的一倍进行增长。由于vector容器分配的是一块连续的内存空间,每次容器的增长并不是在原

2015-03-20 10:07:15 3030

原创 将int、char型字符转换为String

stringstring 是 C++ 提供的字串型態,和 C 的字串相比,除了有不限长度的优点外,还有其他许多方便的功能。要使用 string, 必須先加入这一行:#include 接下來要宣告一个字串变量,可以写成:string s;我们也可以在宣告的同时让它设成某个字串:string s="TCGS";而要取得其中某一個字元,和传统C 的字串一樣是用 s[i] 

2015-03-19 21:42:49 1987 1

转载 leetcode-Factorial Trailing Zeroes

Factorial Trailing ZeroesGiven an integer n, return the number of trailing zeroes in n!.Note: Your solution should be in logarithmic time complexity.Credits:Special thanks to @ts for adding th

2015-03-19 21:08:26 340

原创 排序算法总结

排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。 一、分类比较排序算法:插入排序、希尔排序、选择排序、堆排序、冒泡排序、快速排序;非比较排序算法:基数排序、计数排序、桶排序;当n较大,则应采用时间复杂度为O(nlog2n)的排序方法

2015-03-18 10:00:11 734

转载 C++存储区域

对一个C++变量来说,有两个属性非常重要:作用域和生命周期,它们从两个不同的维度描述了一个变量--时间和空间。顾名思义,作用域就是一个变量可以被引用的范围,如:全局作用域、文件作用域、局部作用域;而生命周期就是这个变量可以被引用的时间段。不同生命周期的变量,在程序内存中的分布位置是不一样的。一个程序的内存分为代码区、全局数据区、堆区、栈区,不同的内存区域,对应不同的生命周期。 一个由C/C

2015-03-17 21:54:56 721

转载 C++unoin的用法

联合(union)在C/C++里面见得并不多,但是在一些对内存要求特别严格的地方,联合又是频繁出现,那么究竟什么是联合、怎么去用、有什么需要注意的地方呢?就这些问题,我试着做一些简单的回答,里面肯定还有不当的地方,欢迎指出!1、什么是联合?“联合”是一种特殊的类,也是一种构造类型的数据结构。在一个“联合”内可以定义多种不同的数据类型, 一个被说明为该“联合”类型的变量中,允许装入该“联

2015-03-16 15:08:29 631

转载 C/C++二进制、十进制、十六进制的表示方法

C/C++语言本身支持的三种输入是: 1. 十进制。如56。 2. 十六进制,以0x开头,比如0x7a。输出十六进制hex关键字格式化,如cout3. 八进制,以0开头,比如030。输出八进制用oct关键字格式化,如cout如下示例程序:[cpp] view plaincopyprint?#include  using namespace s

2015-03-16 10:41:49 2899

转载 正则表达式基本语法

正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。给定一个正则表达式和另一个字符串,我们可以达到如下的目的:1.给定的字符串是否符合正则

2015-03-16 09:50:27 545

原创 C++中的atexit函数和exit函数

一、exit()函数函数声明:void exit(int state);exit()函数用于在程序运行的过程中随时结束程序,exit的参数state是返回给操作系统,返回0表示程序正常结束,非0表示程序非正常结束。main函数结束时也会隐式地调用exit函数。exit函数运行时首先会执行由atexit()函数登记的函数,然后会做一些自身的清理工作,同时刷新所有输出流、关闭所有打开的流并且关

2015-03-07 18:27:18 1226

原创 C++螺旋队列算法分析

螺旋队列的样子如下图:两大规律:1、螺旋规律2、奇数(圈数,或X轴正坐标)平方规律(紫线) 问题描述: 设1的坐标是(0,0),x方向向右为正,y方向向下为正,例如,7的坐标为(-1,-1),2的坐标为(1,0)。编程实现输入任意一点坐标(x,y),输出所对应的数字!  问题解决:从紫线突破。从图中不难发现,每圈最大值max=(2*c+1)(

2015-03-07 17:52:21 1123

空空如也

空空如也

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

TA关注的人

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