代码优化
文章平均质量分 80
普通网友
这个作者很懒,什么都没留下…
展开
-
C++中static的用法总结
static用法小结 static关键字是C, C++中都存在的关键字, 它主要有三种使用方式, 其中前两种只指在C语言中使用, 第三种在C++中使用(C,C++中具体细微操作不尽相同, 本文以C++为准).(1)局部静态变量(2)外部静态变量/函数(3)静态数据成员/成员函数下面就这三种使用方式及注意事项分别说明一、局部静态变量在C/C++中, 局部变量按照存储形式可转载 2014-04-22 23:20:27 · 906 阅读 · 0 评论 -
字符串元素重排高效算法集合
以下各题均有时间复杂度为O(n*n)或以空间换取时间使得时间空间复杂度为O(n)的算法,在此均不考虑。问题一、字符串移动 字符串为*号和26个字母的任意组合,把*号都移动到最左侧,把字母移到最右侧并保持相对顺序不变,要求时间和空间复杂度最小 。如“afdg**fa**hjfkdsl”变换成“****afdgfahjfkdsl” 此题前后字符串的长度原创 2014-06-03 22:57:58 · 1754 阅读 · 2 评论 -
C++中智能指针与Java中垃圾回收机制的读书笔记
大一学了C++,上学期又上过Java课,二者有相当多的相似之处,但内存管理机制却有着很大的区别。在C++中,程序员需要自己管理内存,而Java中则完全依靠JVM提供垃圾回收机制。C++人工管理内存程序效率高,但需时时小心;Java则恰恰相反,JVM负责内存的管理,安全性、健壮性可以得到保证,但需要有时时扫描监听实例对象导致效率较低。关于这点,我平时编程中是深有体会的。之前做ACM,用Java解题的原创 2014-04-20 22:40:32 · 2948 阅读 · 1 评论 -
腾讯MIG实习技术成长日记集
有幸在这样一家国内顶级的互联网公司实习,由于在校期间主要时间都投在ACM上,对于windows编程比较生疏,工作方面职位为PC客户端开发,所以职场导师推荐了基本专业书籍,在完成自己的任务之余,我把时间放在慢慢咀嚼这些经典书籍上。由于相关积累有限,故有些地方怕表达不当,所以以摘抄经典为主。在此说明,由于工作原因,有些技术需要保密,程序代码就不提供了,具体做些什么就不宜多说了。实习很快结束了,在这两个多月里真的很愉快,学到很多在学校学不到的东西,只是马上快开学了,得回学校继续自己的学习生活。由衷的感谢实习期间帮原创 2014-08-21 21:56:11 · 2853 阅读 · 0 评论 -
大端与小端的读书笔记
最近看见有人说大端小段,不清楚,查了查发下如下: 在计算机业Big Endian和Little Endian也几乎引起一场战争。在计算机业界,Endian表示数据在存储器中的存放顺序。 大端:高位存在低地址,低位存在高地址; 小端:高位存在高地址,低位存在低地址;(intel的x86,ARM普遍都是属于小端) 下面是段C++代码:#incl原创 2014-04-22 22:58:11 · 1297 阅读 · 0 评论 -
递归转非递归几个实例
递归是程序设计中很重要的技巧,简单易于实现;但递归程序效率较之非递归低得多,递归函数要直接或间接的调用自身,系统栈要频繁操作,时间空间消耗很大。在要求高效的很多场合需要将递归程序改写成非递归程序,由于疏于梳理这方面的知识点,感觉对于有些递归结构有些力不从心,于是有意识的学习了一下,感觉好了很多。 关于递归程序转非递归程序,基本通用方法是用自定义栈结构模拟递归过程,这种方法就是万金油,原创 2014-05-27 22:58:46 · 2135 阅读 · 0 评论 -
Java装箱==的池化坑
“基本类型优于装箱基本类型” ,其中那个Integer例子觉得不合适,于是看了Integer源码,发现还真是有点问题,至少我的jdk1.7是有问题的。 Java是高度封装基于JVM API的语言,和C++一个重要的区别就是不支持运算符重载。就我肤浅地理解,基本的运算操作+、-、*、/、==等对于开发者老说通常是不透明的,所以对于模糊的地方不好把握,对于装饰器类型也就是通常意思的装箱类型。jdk还不能说是JVM将小范围的数值做了缓存,如int的[-128,127](其中128并不是一个比较准确的答案原创 2016-01-30 12:46:59 · 983 阅读 · 0 评论