- 博客(60)
- 资源 (1)
- 收藏
- 关注
转载 C++内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区
栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。在一个进程中,位于用户虚拟地址空间顶部的是用户栈,编译器用它来实现函数的调用。和堆一样,用户栈在程序执行期间可以动态地扩展和收缩。 堆,就是那些由 new 分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个 new 就要对应一个 delete。如果程序员没
2015-07-10 13:19:26
589
转载 一直搞不清楚的字节对齐
字节(Byte)是计算机信息技术用于计量存储容量和传输容量的一种计量单位,一个字节等于8位二进制数,在UTF-8编码中,一个英文字符等于一个字节。字节按照一定规则在空间上排列就是字节对齐。(在没有#pragma pack宏的情况下,务必看完最后一行)1:数据成员对齐规则:结构(struct)(或联合(union))的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成
2015-04-24 13:23:20
744
转载 VC多文档MFC程序的背景色不能时时刷新
VC 建立多文档工程,CMainFrame主框架设置了背景色,但是当打开一个新文档非最大化状态时,鼠标点住拖动 主框架的背景色不能时时刷新,请问这个问题怎么解决? 很急很急,十万火急 下面贴出代码:1./*截获MDI客户窗口WM_PAINT消息,在这个函数中向主框架窗口发送WM_PAINT/消息,在该消息的处理函数中实现彩色位图的显示或者设置背景色*/BOOL CMainFrame:
2015-04-12 14:54:25
1356
原创 约瑟夫问题
约瑟夫问题:设有n个人围成一圈,每个人的编号依次为1,2,...,n。现从编号为k的人开始报数,数到m的人便出列,接着从出列的下一个人重新开始报数,数到m的人又出列,以此类推,直到所有人都出列为止。现要求该n个人的出列顺序,设为函数f(n,m,i)。算法分析:第一种情况,假设有10人,数到3出列。开始给这10个人编号:0,1,2,3,4,5,6,7,8,9。第一次:编号为2 的人出列:0
2015-04-07 16:38:01
515
原创 字符串匹配KMP算法
所谓的字符串匹配是指在一个字符串S中找出另外一串字符串P的位置。 1 字符串匹配简单算法字符串匹配简单算法是指,从正文S和模式P的第一个字符出发,将S和P的字符依次逐个进行比较,如果模式P中所有的字符都与S中的字符串匹配完,则说明在正文S中找到了模式P的字符串,返回位置就可以了,如果没有匹配完成,则将模式P沿着正文S向后移了一个位置,再从模式P的第一个字符开始以此进行比较,如果没有找
2015-04-02 15:56:48
482
转载 阿里巴巴2015研发工程师在线笔试附加题
1、java中的wait()方法和sleep()方法的区别是什么?sleep()是让某个线程暂停运行一段时间,其控制范围是由当前线程决定,也就是说,在线程里面决定.好比如说,我要做的事情是 "点火->烧水->煮面",而当我点完火之后我不立即烧水,我要休息一段时间再烧.对于运行的主动权是由我的流程来控制. 而wait(),首先,这是由某个确定的对象来调用的,将这个对象理解成一个传话的
2015-04-02 13:48:47
762
原创 去哪儿网2015年春季校园招聘技术笔试题
1.请实现以下函数 int indexOf(int[] array,int target),给定一个循环有序的数组,请在这个数组中找到指定元素,找到的话返回下标,没有返回-1.该数组的特点是它是一个单调递增的数组向右循环移位形成的。举例说明,原数组是[4,8,13,20,23,34,41,52] 经过向右循环移位形成的数组可能[23,34,41,52,4,8,13,20],也可能是[4,8,13
2015-03-23 19:01:57
962
转载 去哪儿网2015校园招聘笔试面试经历分享
对去哪儿网的印象是家在线旅行方案提供商,旅游界的淘宝。笔试之前上网百度了一下,去哪儿是中国领先的旅游搜索引擎,一家创新的技术公司,去哪儿网致力于为中国旅游消费者提供全面、准确的旅游信息服务。投了简历很长时间没有消息,后来收到笔试通知。笔试一共算道题,第一题是10进制整型转16进制,比较简单;第二题感觉题目描述不是很清楚,数以万计文件中找出任意重复出现字母次数最多的三个文件,不是很理
2015-03-21 13:03:30
1634
转载 【数据结构-trie树】trie数实现单词查询和单词统计
1.键树的定义: 键树又叫“数字查找树”。深度>=2 . 树中的每个节点一般不是直接包含关键字,而是包含组成关键字的符号(当然叶子节点除外,叶子节点可能包含整个单词以及词频,非叶节点也可包含单词和词频)。根据存储结构的不同,又分为双链树和多重链表树。或者就是常说的“Trie树”,取自检索“retrieve”中间的四个单词。因此也被称为检索树。Trie树的每个节点含有d个指针域(d为关
2015-03-18 21:19:19
576
原创 用栈实现表达式运算
1 算法思想所包含的运算符有‘+’,‘-’,‘*’,‘/’,‘(’,‘)’。(1)建立两个栈,一个用来存储操作数,另一个用来存储运算符,开始时在运算符栈中先压入‘/0’,一个表达式的结束符。(2)然后从左至右依次读取表达式中的各个符号(操作数或者运算符);(3)如果读到的是操作数直接存入操作数栈;(4)如果读到的是运算符,则作进一步判断:若读到的是‘/0’结束符,而且此时运
2015-03-18 16:53:26
5646
1
转载 Sizeof与Strlen的区别与联系
1.sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型。该类型保证能容纳实现所建立的最大对象的字节大小。 2.sizeof是算符,strlen是函数。 3.sizeof可以用类型做参数,strlen只能用char*做参数,且必须是以''\0''结尾的。sizeof还可以用函数做参数,比如: short f();printf("%d\
2015-03-15 17:35:45
402
转载 数据库中主键与索引的区别
区别:1:主键是为了标识数据库记录唯一性,不允许记录重复,且键值不能为空,主键也是一个特殊索引.2:数据表中只允许有一个主键,但是可以有多个索引.3.使用主键会数据库会自动创建主索引,也可以在非主键上创建索引,方便查询效率.4:索引可以提高查询速度,它就相当于字典的目录,可以通过它很快查询到想要的结果,而不需要进行全表扫描.5:主键索引外索引的值可以为空. 6:主键也可以由
2015-03-14 22:06:29
19800
原创 数学解析题
一个班级有46人,校园运动会报名,35人报了短跑,30人报了跳远,38人报了铅球,40人报了跳高,至少有多少人这四个项目都参加了?不喜欢跑步:46-35=11;不喜欢跳远:46-30=16;不喜欢铅球:46-38=8;不喜欢跳高:46-40=6;题目的意思就是只有这些人都不重复的时候同时参加四个项目的人数才能最少=46-11-16-8-6=5人哥哥和弟弟在一周长为8
2015-03-14 14:25:00
561
转载 排序算法的时间复杂度和空间复杂度
常用的内部排序方法有:交换排序(冒泡排序、快速排序)、选择排序(简单选择排序、堆排序)、插入排序(直接插入排序、希尔排序)、归并排序、基数排序(一关键字、多关键字)。一、冒泡排序: 1.基本思想:两两比较待排序数据元素的大小,发现两个数据元素的次序相反时即进行交换,直到没有反序的数据元素为止。 2.排序过程:设想被排序的数组R[1..N]垂直
2015-03-13 15:00:17
634
转载 面向过程和面向对象及面向对象的三大特征
转载自:http://www.cnblogs.com/ysyn/p/3380856.html英文及缩写: 面向过程:procedure oriented programming POP 面向对象:object oriented programming OOP面向对象和面向过程的历程: 面向过程编程采取的是时间换空间的策略,因为在早期计算机配置低
2015-02-05 14:34:31
504
原创 实现修改HEX文件和S19文件的值
之前有分享过HEX文件和S19文件的详细解析,之后做了写了段代码实现修改他们的值,因为一般的HEX文件和S19文件都可以同txt文件一样实现读取,所以用C语言实现起来也比较方便。 1 实现修改Hex文件的值。UCHAR UCHAR_to_DATA(UCHAR data0, UCHAR data1){ if ( data0>='a' && data0<='f' ) data0 = data0
2015-02-03 18:01:08
5840
1
转载 S19文件格式详解
S-record格式文件是Freescale CodeWarrior编译器生成的后缀名为.S19的程序文件,是一段直接烧写进MCU的ASCII码,英文全称问Motorola format for EEPROMprogramming。上面“是一段直接烧写进MCU的ASCII码”,这样说可能会误导初学者,因为并不是直接将ASCII码写进MCU,写进MCU前还要对S19文件进行一个解析,把有用的机器
2015-02-03 16:58:38
4100
转载 HEX文件格式解析
来自:http://blog.csdn.net/GZFStudy/archive/2008/09/03/2873814.aspxIntel HEX 文件是由一行行符合Intel HEX 文件格式的文本所 构 成的ASCII 文本文件。在Intel HEX 文件中,每一行包含一 个 HEX 记录 。 这 些 记录 由 对应 机器 语 言 码 和/ 或常量 数 据的十六 进 制 编码数 字
2015-01-31 12:11:32
48199
8
原创 C++中实现的交换两个数的值
#include void swap1(int a,int b){ int temp; temp=a; a=b; b=temp;}void swap(int *a ,int *b){ int temp; temp=*a; *a=*b; *b=temp;}int main(){ using namespace std; int s1,s2; cin>>s1;
2014-11-14 15:30:04
14163
转载 思科笔试题
一、100人参加考试,共5道题,第1、2、3、4、5题分别有80、72、84、88、56做对,如果至少做对3题算及格,问:至少几人及格?解答:情况分为:做对0个,做对1个,做对2个,做对3个,做对4个,做对5个,为了使不及格人最多,不妨对做对0个的人说,为何不把你的做错的两道给做对3个或4个的人呢,这样你还是不及格并且可以多增加人不及格,这样做对0个把自己的错误2个题给别人
2014-10-25 19:37:00
1796
转载 堆排序原理及算法实现(最大堆)
堆排序 堆排序是利用堆的性质进行的一种选择排序。下面先讨论一下堆。1.堆 堆实际上是一棵完全二叉树,其任何一非叶节点满足性质: Key[i]=Key[2i+1]&&key>=key[2i+2] 即任何一非叶节点的关键字不大于或者不小于其左右孩子节点的关键字。 堆分为大顶堆和小顶堆,满足Key[i]>=Key[2i+1]&&key>
2014-09-16 16:55:24
501
转载 VS2010安装/瘦身/精简/提速方法
Visual Studio 2010(简称VS2010)出来已经有几个月了,虽然安装程序比Vs2008小了一些只有2.5G,但仍然是一个庞然大物,继续秉承微软的一灌作风“捆绑”,不管用上用不上先给你绑上。全完安装需要7~8G空间,自定议安装的话,可以定制的内容也不多。可选安装包如下:1.Visual VB.net2.Visual C++3.Visual C#4.Visual
2014-08-20 09:56:42
572
转载 计算两个字符串的距离
这道题是前几个月Google笔试的最后一道题,当时写的不好,有些细节没写出来,现在整理写一下。题目描述:对于不同的字符串,希望能够有办法判断其相似程度。定义了如下方法来把两个不同的字符串变得相同,具体的操作方法为:1. 修改一个字符 (如把"a"替换为"b")2. 增加一个字符 (如把"abc"变换为"aabc")3. 删除一个字符 (如把"abc"变换为"
2014-06-09 10:57:54
567
原创 华为机试(二)
//成绩排序#include #includeusing namespace std;struct result{ char name[20]; int scores;};int rankresult(result*);int number;void swapstruct(result & s1,result & s2){ result temp; temp=s1;
2014-06-07 23:07:34
461
转载 C++中字符串输入
1 使用cin输入字符串的相关问题1.1 cin 使用空白(空格、制表符和换行符)来定字符串的界这意味着cin在获取字符数组输入时只读取一个单词,在读取该单词后,cin将该字符串放到数组中,并自动在结尾添加空字符。这样,后一个字符串将不会输入到数组中。1.2 当输入字符串可能比目标数组长时,将不能防止例如将包含30个字符的字符串放到20个字符的数组中的情况。2 面向行的读取还不
2014-06-07 20:39:24
597
转载 查找与排序
2014-03-27 15:47 78人阅读 评论(0) 收藏 举报目录(?)[-]查找线性表顺序查找折半查找分块查找索引顺序查找树表哈希表排序插入排序直接插入排序折半插入排序希尔排序快速排序冒泡排序快速排序选择排序简单选择排序堆排序归并排序1.查找线性表、树表、哈希表1
2014-06-07 15:14:32
497
原创 在1970-9999年之间输入一个日期实现输出星期几
#includeint main(){ int year; int month; int day; int week; long int x; int y; int z; int n; long int p; int sum=0; int i=1970; int k=0; scanf("%d-%d-%d",&year,&month,&day); if(year
2014-06-05 15:46:23
725
转载 vc2010转化vc2005或低版本VC过程后,编译错误 解决方法
fatal error C1189: #error : This file requires _WIN32_WINNT to be #defined at least to 0x0403. Value 0x0501 or higher is recommended.
2014-06-04 15:38:24
541
原创 js实现网页自动刷新
节日倒计时 window.open('http://www.2345.com/?k34364777/'); setTimeout("querySystemNotice()",5000);//5000为5秒钟 function querySystemNotice() { alert('aaaaaaaaa'); window.location.r
2014-05-26 20:51:15
842
转载 指针用作函数参数、指针型函数和函数指针
转载自: 一.指针用作函数参数 以前我们学过的函数参数要么是基本数据类型的变量,要么是类的对象,又或者是数组名,前几讲学到的指针同样可以用作函数参数。指针作函数形参时,我们调用此函数将实参值传递给形参后,实参和形参指针变量将指向相同的内存地址,那么在被调函数中对形参指针所指向的对象的改变会一样影响主调函数中实参指针指向的对象。 指针用作函数参数用什么
2014-05-25 20:44:46
727
原创 指针
指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。
2014-05-25 15:14:44
521
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人