自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 云授权

云计算时代的到来,带来了一种新的基于云计算方式的软件保护和授权方式——云授权。这种授权方式不仅适用于管理、制造等传统软件行业,也适用于股票、群发和游戏类新兴的、在线工作的软件。  云授权的定义  云授权是针对传统的客户端许可证授权而言的,它的准确定义是:云授权是一种云计算模式的授权,开发商的软件还是在客户端运行,但软件运行时需要的授权许可、关键数据和配置数据必须联网从授权服务器——

2014-11-11 15:25:52 1191

转载 C++ 智能指针详解

一、简介由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete。程序员忘记 delete,流程太复杂,最终导致没有 delete,异常导致程序过早退出,没有执行 delete的情况并不罕见。用智能指针便可以有效缓解这类问题,本文主要讲解参见的智能指针的用法。包括:std::auto_ptr、boost::scoped_ptr、boost::shared

2014-11-11 10:56:37 489

转载 [综合面试] 牛人整理分享的面试知识:操作系统、计算机网络、设计模式、Linux编程,数据结构总结

感谢IT面试群 S-北京-陈磊 的整理分享。基础篇:操作系统、计算机网络、设计模式一:操作系统1. 进程的有哪几种状态,状态转换图,及导致转换的事件。2. 进程与线程的区别。3. 进程通信的几种方式。4. 线程同步几种方式。(一定要会写生产者、消费者问题,完全消化理解)5. 线程的实现方式. (也就是用户线程与内核线程的区别)6. 用

2014-11-11 09:46:37 755

转载 写一个函数,完成内存之间的拷贝

在网上找了个题目如题目,本来以为就跟字符串的复制一样,一个while就行了,看了答案才知道,内存处理没有那么简单,因为我们时刻要小心内存处理问题。但是看了代码,想了半天才想同原理,真是惭愧啊!本来打算准备用个坐标轴来描述这个原理的,只是我个人比较懒的去画,就简单的说下,以明示自己下次不能犯这样的错误了。方法一:void* mymemcpy( void *dest, cons

2014-11-09 20:16:21 902

转载 C++的强制类型转换

C++的强制类型转换c/c++强制类型转换Q:什么是C风格转换?什么是static_cast, dynamic_cast 以及 reinterpret_cast?区别是什么?为什么要注意?A:转换的含义是通过改变一个变量的类型为别的类型从而改变该变量的表示方式。为了类型转换一个简单对象为另一个对象你会使用传统的类型转换操作符。比如,为了转换一个类型为doubol

2014-11-08 22:13:25 411

转载 快速排序的递归和非递归实现

#include#include#include#include#includeusing namespace std; /**把数组分为两部分,轴pivot左边的部分都小于轴右边的部分**/template int partition(vector &vec,int low,int high){ Comparable pivot=vec[low]; //任选元素作为轴

2014-11-08 21:02:12 425

转载 group by 及 having 子句使用

1. Group by子句(利用group by子句分组数据,当select语句中使用到组函数和字段一起连用时会用到group by,否则会出现错误)Group by 把select查询的结果集分成几个小组,这个group by子句可以跟在where后面且在having前面。Group by子句也会触发排序操作,会按分组字段排序。Select [组函数和分组的字段]

2014-10-26 11:10:14 2566

转载 LTE-网络架构及网元实体

LTE网络特点与传统3G网络比较,LTE的网络结更加简单扁平,降低组网成本,增加组网灵活性,主要特点表现在:网络扁平化使得系统延时减少,从而改善用户体验,可开展更多业务;网元数目减少,E-UTRAN只有一种节点网元E-Node B,使得网络部署更为简单,网络的维护更加容易;取消了RNC的集中控制,避免单点故障,有利于提高网络稳定性; LTE-

2014-09-16 16:24:43 9115

转载 sizeof的详尽计算结构体字节数方法

sizeof的详尽计算结构体字节数方法  本文主要包括二个部分,第一部分重点介绍在VC中,怎么样采用sizeof来求结构的大小,以及容易出现的问题,并给出解决问题的方法,第二部分总结出VC中sizeof的主要用法。1、 sizeof应用在结构上的情况请看下面的结构:struct MyStruct{double dda1;char

2014-09-16 15:25:53 2315

原创 使用一个函数模拟C++中的strstr()函数

#include #include using namespace std;const string fun(const string & str,const string& str1){ string str2; for(int i=0;i<str.length();i++) { int j=0; if(str[i]==str1[j]) { int temp=s

2014-09-12 19:54:21 431

转载 中缀表达式转换为后缀表达式

一、后缀表达式求值后缀表达式也叫逆波兰表达式,其求值过程可以用到栈来辅助存储。假定待求值的后缀表达式为:6  5  2  3  + 8 * + 3  +  *,则其求值过程如下:1)遍历表达式,遇到的数字首先放入栈中,此时栈如下所示:2)接着读到“+”,则弹出3和2,执行3+2,计算结果等于5,并将5压入到栈中。3)读到8,将其直接放入栈中。

2014-09-11 18:01:46 497

原创 c++中remove函数

对于remove函数,首先要明白remove函数的实现原理。首先remove函数在STL中的源代码如下:template OutputIterator remove_copy ( InputIterator first, InputIterator last, OutputIterator result,const T& value ) { for ( ; first != las

2014-09-08 16:12:12 12449

转载 C++容器:容器的基本操作

1.容器位置操作:c.begin() 返回一个迭代器,它指向容器 c 的第一个元素c.end() 返回一个迭代器,它指向容器 c 的第一个元素c.rbegin() 返回一个逆序迭代器,它指向容器 c 的最后一个元素c.rend() 返回一个逆序迭代器,它指向容器 c 的第一个元素前面的位置 2.顺序容器添加元素操作:注

2014-09-08 14:39:43 667

转载 C++虚函数与虚函数表解析

虚函数的定义:  虚函数必须是类的非静态成员函数(且非构造函数),其访问权限是public(可以定义为private or proteceted, 但是对于多态来说,没有意义。),在基类的类定义中定义虚函数的一般形式:  virtual 函数返回值类型 虚函数名(形参表)  { 函数体 }虚函数的作用是实现动态联编,也就是在程序的运行阶段动态地选择合适的成员函数,在定义了虚函数后,

2014-08-28 13:51:04 452

转载 浅谈C++多态性

C++编程语言是一款应用广泛,支持多种程序设计的计算机编程语言。我们今天就会为大家详细介绍其中C++多态性的一些基本知识,以方便大家在学习过程中对此能够有一个充分的掌握。  多态性可以简单地概括为“一个接口,多种方法”,程序在运行时才决定调用的函数,它是面向对象编程领域的核心概念。多态(polymorphisn),字面意思多种形状。  C++多态性是通过虚函数来实现的,虚函数允许子类重新定

2014-08-28 11:11:52 440

转载 C++之继承与派生(2)

上一节,主要讲解了有关派生类继承方式的内容。那么今天就来说说派生类的构造函数和析构函数,以及怎么样在派生类中显式访问积累成员。大家都知道,基类的构造函数和析构函数是不能被继承的,因此我们必须在派生类的构造函数中对基类的构造函数所需要的参数进行设置。同样,对于派生类对象的清理工作也需要加入新的析构函数。  1.那么该如何构造呢?对于简单的派生类,即只有一个基类,且直接派生(多继承将在

2014-08-28 10:57:07 505

转载 C++之继承与派生(1)

继承是面向对象程序设计中的重要特性,是软件复用的一种形式。其实继承和派生就是同一种概念的不同说法罢了,通常我们说子类继承父类,父类派生出子类。说实话,学习和了解了C++的继承与派生后,发现我对面向对象中的继承与派生有了更深刻的理解。在更加深入了解C++关于继承方面的知识之前,我想先讲一下C++中派生与继承的基本概念,它是之后学习派生类的构造与析构,以及多重继承等的基础。  1.派生类的声明

2014-08-28 10:44:13 495

转载 C++模板详解

一、类模板的默认模板类型形参  1、可以为类模板的类型形参提供默认值,但不能为函数模板的类型形参提供默认值。函数模板和类模板都可以为模板的非类型形参提供默认值。  2、类模板的类型形参默认值形式为:template class A{};为第二个模板类型形参T2提供int型的默认值。  3、类模板类型形参默认值和函数的默认参数一样,如果有多个类型形参则从第一个形参设定了默

2014-08-26 20:36:08 465

转载 如何划分子网

1,假设取得网络地址200.200.200.0 ,子网掩码为255.255.255.0。现在一个子网有100台主机,另外4个子网有20台主机,请问如何划分子网,才能满足要求。请写出五个子网的子网掩码、网络地址、第一个主机地址、最后一个主机地址、广播地址。(子网号可以全0和全1)。请直接写出最后答案。 还没做题之前先要明确IP地址的命名方式、划分子网的实质、以及子网掩码的作用。

2014-08-21 20:42:05 1323

转载 C++之多态性与虚函数

面向对象程序设计中的多态性是指向不同的对象发送同一个消息,不同对象对应同一消息产生不同行为。在程序中消息就是调用函数,不同的行为就是指不同的实现方法,即执行不同的函数体。也可以这样说就是实现了“一个接口,多种方法”。  从实现的角度来讲,多态可以分为两类:编译时的多态性和运行时的多态性。前者是通过静态联编来实现的,比如C++中通过函数的重载和运算符的重载。后者则是通过动态联

2014-08-21 16:36:47 454

转载 Linux中fork()函数详解

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

2014-08-20 18:46:33 440

转载 C++中this指针的使用

this指针只能在一个类的成员函数中调用,它表示当前对象的地址。下面是一个例子: void Date::setMonth( int mn ) { month = mn; // 这三句是等价的 this->month = mn; (*this).month = mn; } 1. this只能在成员函数中使用。全局函数,静态函数都

2014-08-19 10:52:57 432

转载 一道面试题:求出这10000个数字中最大的500个

此题是百度公司2012年的一道面试题:有20个数组,每个数组里面有500个数,升序排列,求出这10000个数字中最大的500个。求复杂度。解析:题目设定的条件有:1)20个数组 2)每个数组有500个数,且是升序排列   求解:最大的500个数通过分析不难求出要充分利用每个数组是升序排列。因此,我们可以从每个数组中取各自数组中的最大数,由此,得到一个数组,该数组中的元素有20个。接

2014-08-15 16:12:04 5349

转载 C++中拷贝构造函数

C++中拷贝构造函数1.什么是拷贝构造函数:拷贝构造函数嘛,当然就是拷贝和构造了。(其实很多名字,只要静下心来想一想,就真的是顾名思义呀)拷贝又称复制,因此拷贝构造函数又称复制构造函数。百度百科上是这样说的:拷贝构造函数,是一种特殊的构造函数,它由编译器调用来完成一些基于同一类的其他对象的构建及初始化。其唯一的参数(对象的引用)是不可变的(const类型)。此函数经常用在函数调用时

2014-08-13 16:47:34 446

原创 汉诺塔问题

从左到右 A  B  C 柱 大盘子在下, 小盘子在上, 借助B柱将所有盘子从A柱移动到C柱, 期间只有一个原则: 大盘子只能在小盘子的下面.

2014-08-12 14:48:38 492

转载 哈希表

1、序        该篇分别讲了散列表的引出、散列函数的设计、处理冲突的方法。并给出一段简单的示例代码。2、散列表的引出        给定一个关键字集合U={0,1......m-1},总共有不大于m个元素。如果m不是很大,我们可以定义一个数组T[0...(m-1)],把U映射到数组T上,每个位置对应U中的一个关键字,若U中没有关键字为k的元素,则T[k]=NULL。我们称

2014-08-11 19:33:45 509

转载 二叉查找树

1、序     详细实现了二叉查找树的各种操作:插入结点、构造二叉树、删除结点、查找、  查找最大值、查找最小值、查找指定结点的前驱和后继2、二叉查找树简介     它或者是一棵空树;或者是具有下列性质的二叉树: (1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值; (2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值; (3)左、右子树也分别为二叉排序树

2014-08-11 14:59:45 449

转载 平衡二叉树(AVL)

在上一个专题中,我们在谈论二叉查找树的效率的时候。不同结构的二叉查找树,查找效率有很大的不同(单支树结构的查找效率退化成了顺序查找)。如何解决这个问题呢?关键在于如何最大限度的减小树的深度。正是基于这个想法,平衡二叉树出现了。平衡二叉树的定义 (AVL—— 发明者为Adel'son-Vel'skii 和 Landis)平衡二叉查找树,又称AVL树。它除了具备二叉查找

2014-08-11 14:52:38 512

转载 C++中引用与指针的区别

下面用通俗易懂的话来概述一下:指针-对于一个类型T,T*就是指向T的指针类型,也即一个T*类型的变量能够保存一个T对象的地址,而类型T是可以加一些限定词的,如const、volatile等等。见下图,所示指针的含义:引用-引用是一个对象的别名,主要用于函数参数和返回值类型,符号X&表示X类型的引用。见下图,所示引用的含义:2、指针和引用的区别

2014-08-10 18:18:02 495

转载 C++和JAVA实例化对象的区别

JAVA:A a = new A();为A对象创建了一个实例,但在内存中开辟了两块空间:一块空间在堆区,存放new A()这个对象;另一块空间在堆栈,也就是栈,存放a,a的值为new A()这个对象的内存地址。因为java在JVM中运行,所以a 描述的内存地址不一定是这个对象真实内存的地址。Object o; // 这是声明一个引用,它的类型是Object,他的值为

2014-08-10 15:42:27 473

原创 数制转换(栈的应用)

问题描述: 将一个非负的十进制整数N转换为另一个等价的基为B的B进制数的问题,很容易通过"除B取余法"来解决。

2014-08-09 15:59:32 1337 1

转载

顺序栈     栈的顺序存储结构简称为顺序栈,它是运算受限的顺序表。1、 顺序栈的类型定义  #define StackSize 100 //假定预分配的栈空间最多为100个元素  typedef char DataType;//假定栈元素的数据类型为字符  typedef struct{      DataType data[StackSize];      in

2014-08-09 10:31:48 480

原创 队列

队列

2014-08-09 09:50:16 423

转载 c++约瑟夫环问题

1.wenti设编号为1、2、……n的n个人按顺时针方向围坐一圈,约定编号为k(1)的人按顺时针方向从1开始报数,数到m的那个人出列,它的下一位又从1开始报数,数到m的那个人又出列,依次类推,直到所有人出列为止,由此产生一个出队编号的序列。试设计算法求出n个人的出列顺序。

2014-08-08 15:17:41 1741 3

转载 C++ 构造函数和析构函数

1.C++规定,每个类必须有默认的构造函数,没有构造函数就不能创建对象。   2.若没有提供任何构造函数,那么c++提供自动提供一个默认的构造函数,该默认构造函数是一个没有参数的构造函数,它仅仅负责创建对象而不做任何赋值操作。   3.只要类中提供了任意一个构造函数,那么c++就不在自动提供默认构造函数。   4.类对象的定义和变量的定义类似,使用默认构造函数创建对象的时候

2014-08-07 21:04:54 547

转载 计算机笔试/面试题

【字符串】1、输入一个字符串,打印出该字符串中字符的所有排列。    例如输入字符串abc,则输出由字符a、b、c所能排列出来的所有字符串abc、acb、bac、bca、cab和cba。2、有一个由大小写组成的字符串,现在需要对他进行修改,将其中的所有小写字母排在大写字母的前面    (大写或小写字母之间不要求保持原来次序),如有可能尽量选择时间和空间效率高的算法。     c

2014-08-07 19:39:52 1234

转载 STL Vector remove()和erase()的使用

STL中remove()只是将待删除元素之后的元素移动到vector的前端,而不是删除。若要真正移除,需要搭配使用erase()。

2014-08-04 16:51:32 460

转载 C++STL中vector容器 begin()与end()函数、front()与back()的用法

在正式进入学习C++STL中的最基本的容器:vector之前,先八卦一下,我是非计算机专业的学生,但对计算机编程,对软件开发却有着浓厚的兴趣,因此,大学四年一直以C++作为自己学习计算机编程的主攻方向,虽然,现在的我还很菜,相信通过我坚持不懈的努力,终究有一天,我会学有所成!    向量容器(vector)是一种顺序容器,是一块连续分配的内存,支持随机访问,从数据安排的角度看,和数组极其相

2014-08-01 21:21:12 1452

转载 vector中的reserve和resize

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

2014-08-01 21:14:21 521

转载 vector容器与iterator容器

vector容器是一个模板类,可以存放任何类型的对象(但必须是同一类对象)。vector对象可以在运行时高效地添加元素,并且vector中元素是连续存储的。vector类为内置数组提供了一种替代表示,与string类一样 vector 类是随标准 C++引入的标准库的一部分 ,为了使用vector 我们必须包含相关的头文件  :#include 使用vector有两

2014-08-01 19:31:26 434

空空如也

空空如也

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

TA关注的人

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