自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lf

一个普通人

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

原创 接口与抽象类区别

1、从形态上:抽象类可以给出一些成员的实现,接口却不包含成员的实现。抽象类的抽象成员可被子类部分实现,接口的成员需要实现类完全实现,一个类只能继承一个抽象类,但可实现多个接口2、类是对对象的抽象,抽象类是对类的抽象,接口是对行为的抽象。也就是说接口是对类的局部(行为)进行的抽象,而抽象类是对整体(字段,属性,方法)的抽象。3、如果行为跨越不同类的对象,可使用接口,对于一些相似的类对象,用继

2016-08-31 18:02:41 194

原创 nyoj488素数环

描述有一个整数n,把从1到n的数字无重复的排列成环,且使每相邻两个数(包括首尾)的和都为素数,称为素数环。为了简便起见,我们规定每个素数环都从1开始。例如,下图就是6的一个素数环。输入有多组测试数据,每组输入一个n(0n20),n=0n(0表示输入结束。输出每组第一行输出对应的Case序号,从1开始。如果存在满足题意叙述的素数环,从小到大

2016-08-31 11:49:36 247

原创 sizeof大小

#include #include using namespace std;int main(){char a[20] = { '2', '3', '4' };string b[20] = { "a", "b", "c" };double c[30] = { 100.0, 200.0, 300.0 };int d[10] = { 1, 4, 5, 6 };cou

2016-08-31 08:44:39 179

原创 poj2488A Knight's Journey

DescriptionBackground The knight is getting bored of seeing the same black and white squares again and again and has decided to make a journey around the world. Whenever a knight moves, it is

2016-08-30 12:24:51 196

原创 scanf参数问题

a 读浮点值(仅适用于 C99)  A 读浮点值(仅适用于 C99)  c 读单字符  d 读十进制整数  i 读十进制、八进制、十六进制整数  e 读浮点数  E 读浮点数  f 读浮点数  F 读浮点数(仅适用于 C99)  g 读浮点数  G 读浮点数  o 读八进制数  s 读字符串  x 读十六进制数  X 读十六进制数  p 读指针值  n 至此已读入值

2016-08-30 11:02:13 1044

原创 涂鸦移动面试总结

整体问的比较简单知识小地方有的没太注意先整体自我介绍,然后问我三层架构,然后又让我讲MVC,(MVC讲的不是很好)。然后讲一下面向对象特性,对于多态进行细问,以及多态进行调用过程(父类声明,子类new?)。然后问了进程与线程的区别。然后说来几道算法题吧。1:有五十二张牌,现在是有序的,现在只有random(0,1)函数,需要把这52张牌打的很乱,怎样实现:我的解:把这52张牌可以看

2016-08-29 21:37:09 4904 1

原创 先序后序中序非递归算法

// BinaryTreeBianli.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include  #include  #include  #include  #include  #include  using namespace std;typedef struct BiTNode{char

2016-08-29 12:29:07 737

原创 static作用

静态成员如果有n个同类的对象,那么每一个对象都分别有自己的数据成员,不同对象的数据成员各自有值,互不相干。但是有时人们希望有某一个或几个数据成员为所有对象所共有。这样可以实现数据共享。在前面介绍过全局变量能够实现数据共享。如果在一个程序文件中有多个函数,在每一个函数中都可以改变全局变量的值,全局变量的值为各函数共享。但是用全局变量的安全性得不到保证,由于在各处都可以自由地修改全局变

2016-08-29 10:18:35 476

原创 struct与typedef struct

(1) struct{ int x; int y; }test1; 好,定义了 结构 test1,test1.x 和 test1.y 可以在语句里用了。(2) struct test {int x; int y; }test1; 好,定义了 结构 test1,test1.x 和 test1.y 可以在语句里用了。与 1 比,省写 了 test(3) typedef struct

2016-08-28 20:54:40 405

原创 涂鸦移动面试准备

先是HR发来了两个题,然后约了电话面试,电话面试先问你的项目,详细描述一下,应该是对我的不感兴趣(我是模式识别的项目),之后“我们来一些算法题吧”我是又激动又害怕,嗯,不出所料,第一题是DP,不过是经典的(窃喜),第二题是一道经典题,总的感觉很不错,喜欢这么一个看重算法的公司,因为之前面了几个…一直跟我谈论语言胜于算法之类的事,可能那些都是专职的技术HR吧…面试官提出的问题 问题1: DP:一个

2016-08-27 21:42:26 2544

原创 C++什么时候用new,什么时候不用new

void func(){Student st;st.name="hello";}void main(){func();cout<<st.name;//错误的调用}st只是局部变量,出了函数st就被销毁了,这样不利于传递参数等,那就得用全局变量了,而new就避免使用全局变量。void func(){Student *st=new Student;st->name="hel

2016-08-27 11:23:31 12789 4

原创 金蝶面试总结

1:面向对象与面向过程的区别 2:写单位的时候,数据库怎样设计,我说varchar(10)表示,后来查了一下,10代表十个字节,一个字两个字节。 3:具体索引与非具体索引: SQL SERVER提供了两种索引:聚集索引和非聚集索引。 聚集索引:表中存储的数据按照索引的顺序存储 非聚集索引:数据存储在一个地方,索引存储在另一个地方 聚集搜索效率高,但是数据更新影响比较大,非聚集索引相反

2016-08-26 09:06:32 3827

原创 进程与线程的区别

1:进程是具有一定独立功能的关于数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位,线程是cpu调度和分派的基本单元1:进程在执行过程拥有独立的内存单元,线程中内存是共享的,从而极大提高了程序许运行效率2:线程的划分的尺度小于进程,线程本身不拥有资源,但是有一些必要的细心,Id,堆栈等。使得多线程程序的并发性相对要高。3:从创建与上下文切换而言,线程的效率要高于进程,

2016-08-25 09:53:42 176

原创 360面试经验

意料之中,果然 第一次大公司面试,一面就挂了,面的是PC网游c++。这个职位对服务器,线程,和进程要求的知识比较多。开始先让我自我介绍,肯定要自夸一顿,把成绩,获奖,项目都说一遍。然后他说项目挺多,你挑一个你最拿手的项目说一下。我说华电就业信息网站,让说难点在哪,我说上传表格那个地方最难,开始用的是微软自带的一套,比较麻烦,后来就用NPOI实现,他说就是熟悉调用控件的过程是吗?我说不是,信息比

2016-08-24 17:41:08 1506

原创 c++多线程

// xiancheng.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include using namespace std;DWORD WINAPI Fun(LPVOID lpParamter){while (1){ cout Sleep(1000); }}int m

2016-08-22 20:24:53 210

原创 sql与nosql的区别

数据表VS.数据集关系型和非关系型数据库的主要差异是数据存储的方式。关系型数据天然就是表格式的,因此存储在数据表的行和列中。数据表可以彼此关联协作存储,也很容易提取数据。与其相反,非关系型数据不适合存储在数据表的行和列中,而是大块组合在一起。非关系型数据通常存储在数据集中,就像文档、键值对或者图结构。你的数据及其特性是选择数据存储和提取方式的首要影响因素。预定义结构VS.动态结构

2016-08-22 20:02:27 574

原创 高并发简介

1、什么场景下需要并发服务器 2、高并发服务器模型 多进程并发服务器 多线程并发服务器 多路IO复用服务器:select服务器,poll并发服务器,epoll服务器

2016-08-22 16:30:14 210

原创 网络笔试面试题

1、SNMP为应用层协议,是TCP/IP协议族的一部分。它通过用户数据报协议(UDP)来操作。在分立的管理站中,管理者进程对位于管理站中心的MIB的访问进行控制,并提供网络管理员接口。管理者进程通过SNMP完成网络管理。SNMP在UDP、IP及有关的特殊网络协议(如,Ethernet, FDDI, X.25)之上实现。所以依赖于IP和UDP协议。2、当主机A要和

2016-08-21 11:02:09 261

原创 c++笔试面试4

1、#include #define SUB(x,y) x-y#define ACCESS_BEFORE(element,offset,value) *SUB(&element, offset) = valueintmain() {    intarray[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9,

2016-08-21 10:24:28 416

原创 git使用

在网页中先start responsibility 输入项目名称,项目说明,以及read me文件。然后copy项目路径(在clone与download中),此时就已经建立了一个项目。 在linux中yum install git,安装git,点击git help会给提示帮助 新建一个目录mkdir git。cd git/。把刚才复制的项目路径复制过来,git clone https://git

2016-08-20 11:51:11 206

原创 c++笔试面试4

1、假设A为抽象类,下列声明( )是正确的。int fun(A);A Obj;A fun(int);A *p; D抽象类不能初始化,不能当做返回值,不能当做参数,可以作为指针变量,因为此时还没有初始化总结:1.抽象类只能用作其他类的基类,不能定义抽象类的对象。2.抽象类不能用于参数类型、函数返回值或显示转换的类

2016-08-20 09:38:59 574

原创 c++笔试面试3

1、C++ STL 的实现:1.vector  底层数据结构为数组 ,支持快速随机访问2.list    底层数据结构为双向链表,支持快速增删3.deque   底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问4.stack   底层一般用23实现,封闭头部即可,不用vector的原因应该是

2016-08-19 17:28:03 341

原创 c++笔试面试2

1、口诀:左定值,右定向。即 const在*的左边不能改变字符串常量的值;const在*的右边不能改变指针的指向;2、非法指针是指该指针的值不是一个已经分配的内存地址 X非法指针是指向的内存已经被回收,或者指向一个错误的地址。3、#includeusing namespace std;class B0//基类BO声明{public://

2016-08-19 08:48:32 393

原创 c++经典易错

1、#define add(a+b) a+b   int main() {      printf("%d\n", 5* add(3+ 4));      return0;   }宏为简单替换,此处应该为5*3+4=19;2、std::vector::at 和 std::vector::operat

2016-08-17 22:11:54 586

原创 指针数组与数组指针

指针数组:array of pointers,即用于存储指针的数组,也就是数组元素都是指针数组指针:a pointer to an array,即指向数组的指针还要注意的是他们用法的区别,下面举例说明。int* a[4]     指针数组                      表示:数组a中的元素都为int型指针                    

2016-08-17 21:52:30 150

原创 virtual与abstract区别

virtual和abstract都是用来修饰父类的,通过覆盖父类的定义,让子类重新定义。(1)virtual修饰的方法必须有实现(哪怕是仅仅添加一对大括号),而abstract修饰的方法一定不能实现。 (2)virtual可以被子类重写,而abstract必须被子类重写。 (3)如果类成员被abstract修饰,则该类前必须添加abstract,因为只有抽象类才可以有抽象方法。

2016-08-17 10:21:56 291

原创 金蝶笔试总结

1、计算机最小的计量单位是byte(字节)。bit虽然比byte还小,但是计算机的最小是byte来计量的2、并不是所有十进制都能精确的转换为对应的二进制数:0.1不能转换为二进制3、快速排序在有序的时候效率最低(on^2),若原数据为有序,(1、2、3、4、5、6),并且选择枢钮值为第一个数时,那在分块时,第一个数为一块儿,后面的数位一块儿,第二次排序从2开始,所以为on^24、int

2016-08-15 21:03:55 5361 2

原创 system("pause")危害

不要用system("pause")来暂停,可以改用std::cin.get或getchar()为何不要用system("pause")?有两个理由一 : 不具可移植性二 : 这东西很贵贵在那里?让我们来看看system("pause")的流程1 : 暂停你的程式2 : 在sub-process中启动OS3 : 寻找要执行的命令并为之分配记忆体4 : 等待输

2016-08-09 12:12:10 4072

原创 for循环里面的递归

for循环里面的递归调用探讨递归本来要来简化循环问题的,不过程序中往往却有for加递归一起使用的情况。我们在for里面堪套for,或者for里面的for再堪套for,都能很直观地理解。当for里面加入了递归,理解的层面就由三维跳到了四维,很难直接观看,要靠无穷的想像力。先来分析一段小代码这个代码里,For里面堪套了递归调用,你觉得应该怎样预测它执行的结果

2016-08-08 17:47:16 5408

原创 string::size_type注意

关于string::size_typesize_type其实是string模板类定义的一种类型之一,它与size_of的用法相似,只是它根据存储的类型返回字符串的长度.对于 string具体化,将根据char返回字符串的长度,在这种情况下,size_type与size_of等效.size_of是一种无符号类型.   你说的   size_type   其实就是   unsigned

2016-08-08 11:28:53 294

原创 c++中控制指定是输入数组的个数

while (true){cin >> nn;int *mm = NULL;mm = new int[nn];int i = 0;for (i; i {cin >> mm[i];   }int res = Cout(nn, mm, i);cout }若使用int mm[nn]会报错,提示应使用常量;此处开头使用while循环,表示可以一直

2016-08-02 22:08:43 1443

原创 printf用法总结

printf函数称为格式输出函数,其关键字最末一个字母f即为“格式”(format)之意。其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上。 printf函数调用的一般形式 printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用 printf 函数之前必须包含stdio.h文件。printf函数调用的一般形式为: printf(

2016-08-01 08:50:58 2313

空空如也

空空如也

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

TA关注的人

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