上一页 1 2 3 4 5 6 ··· 8 下一页
摘要: 一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。-程序结束后有系统释放4、文字常量区—常量字符串就是放在这里的。程序结束后由系统释放5 阅读全文
posted @ 2013-09-10 11:36 karlthas 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 从概念上讲。指针从本质上讲就是存放变量地址的一个变量,在逻辑上是独立的,它可以被改变,包括其所指向的地址的改变和其指向的地址中所存放的数据的改变。而引用是一个别名,它在逻辑上不是独立的,它的存在具有依附性,所以引用必须在一开始就被初始化,而且其引用的对象在其整个生命周期中是不能被改变的(自始至终只能依附于同一个变量)。在C++中,指针和引用经常用于函数的参数传递,然而,指针传递参数和引用传递参数是有本质上的不同的:指针传递参数本质上是值传递的方式,它所传递的是一个地址值。值传递过程中,被调函数的形式参数作为被调函数的局部变量处理,即在栈中开辟了内存空间以存放由主调函数放进来的实参的值,从而成为 阅读全文
posted @ 2013-09-10 11:17 karlthas 阅读(256) 评论(0) 推荐(0) 编辑
摘要: #includeusingnamespacestd;intDP(inta[],intsize){intTempSum,CurSum;CurSum=a[0];intmax=CurSum;for(inti=1;i0){CurSum=(TempSum+a[i])>=a[i]?(TempSum+a[i]):a[i];}else{CurSum=a[i];}if(CurSum>max){max=CurSum;}}returnmax;}intmain(){inta[]={1,-2,3,10,-4,7,2,-5};intresult=DP(a,8);cout<<result<&l 阅读全文
posted @ 2013-09-06 16:52 karlthas 阅读(323) 评论(0) 推荐(0) 编辑
摘要: Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.For example,"A man, a plan, a canal: Panama"is a palindrome."race a car"isnota palindrome.Note:Have you consider that the string might be empty? This is a good question to 阅读全文
posted @ 2013-08-30 17:50 karlthas 阅读(202) 评论(0) 推荐(0) 编辑
摘要: **Definitionforbinarytree*structTreeNode{*intval;*TreeNode*left;*TreeNode*right;*TreeNode(intx):val(x),left(NULL),right(NULL){}/**};*/classSolution{public:boolhasPathSum(TreeNode*root,intsum){//StarttypingyourC/C++solutionbelow//DONOTwriteintmain()functionif(root){if(root->val==sum&&root- 阅读全文
posted @ 2013-08-29 23:48 karlthas 阅读(431) 评论(0) 推荐(0) 编辑
摘要: 不要放弃啊 阅读全文
posted @ 2013-08-27 18:44 karlthas 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 原文地址:http://mp.weixin.qq.com/mp/appmsg/show?__biz=MjM5ODIzNDQ3Mw==&appmsgid=10000068&itemidx=1&sign=d3ef7961f52b8e067ccd9a7eea370cb6动态规划:从新手到专家Hawstein翻译前言我们遇到的问题中,有很大一部分可以用动态规划(简称DP)来解。 解决这类问题可以很大地提升你的能力与技巧,我会试着帮助你理解如何使用DP来解题。 这篇文章是基于实例展开来讲的,因为干巴巴的理论实在不好理解。注意:如果你对于其中某一节已经了解并且不想阅读它,没关系,直 阅读全文
posted @ 2013-08-27 17:53 karlthas 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 经常需要操作的内存可以分为以下几个类型:栈区stack:由编译器自动分配和释放,存放函数的参数值、局部变量的值等。其操作方式类似于数据结构中的栈。堆区heap:一般由程序员分配和释放,若程序员不释放,程序结束时可能由操作系统回收。与数据结构中的堆是两回事,分配方式类似于链表。全局-静态区static:全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在响铃的另一块区域。程序结束后由系统释放。文字常量去:常量字符串就是放在这里。程序代码区:存放函数体的二进制代码。堆和栈的理论知识如下:1.申请方式:栈,系统自动分配。堆,程序员自己申 阅读全文
posted @ 2013-08-26 16:53 karlthas 阅读(315) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/duxinfeng2010/article/details/8654690出自以上地址本篇文章介绍的是如何将工程代码托管到上面;如果你还没注册GitHub账号请到https://github.com/上注册如果你已经注册GitHub账号,在你的电脑上安装了GitHub,而一直还没上传过代码1.打开浏览器登陆你的GitHub账号,Creat a new repo 如图:2.然后跳转下一个页面,填写repository name,如:TEST,在Add .gitgore一项根据你所使用语言选择,其他的默认,然后creat repository然后GitHu 阅读全文
posted @ 2013-08-25 11:14 karlthas 阅读(262) 评论(0) 推荐(0) 编辑
摘要: intf(intx,inty){return(x&y)+((x^y)>>1)}f(729,271)输出是什么?x&y表示按位与,结果是x,y相同位的一半(除以2),x^y表示亦或,表示取x,y的不同位, 同时右移表示除以2,相同位和不同位都取了,而且都取的是一半,因此结果是(x+y)/2,结果为50... 阅读全文
posted @ 2013-08-23 16:18 karlthas 阅读(289) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 8 下一页