- 博客(8)
- 资源 (7)
- 收藏
- 关注
原创 面试算法:计算堆栈当前元素的最大值
堆栈的常用操作有, pop 弹出堆栈顶部的元素;push 向堆栈压入一个元素;peek 获得堆栈顶部的元素值,但不弹出堆栈。现在要去你增加一个操作max, 它的作用是返回堆栈当前所有元素中值最大的那个元素
2017-02-24 10:11:14 2325
原创 java开发C编译器:结构体的解析和执行
更详细的讲解和代码调试演示过程,请参看视频 用java开发C语言编译器结构体是C语言中,最为复杂的原生数据结构,它把多种原生结构结合在一起,形成一个有特点含义的数据结构,要实现一个完整的C语言编译器或解释器,就必须要拥有对结构体的解析能力,本节,我们在当前解释器的基础上,增加结构体的解释执行能力,完成本节后,我们的解释器可以解析执行下面代码:void main() {struct TAG {in
2017-02-23 11:02:36 1436
原创 java开发系统内核:caps 按键处理
上一节,我们成功实现了对shift按键的处理,这一节,我们看看如何处理caps 按键,当该键按下时,输入系统的字符在大小写间切换。由于我们系统启动后,默认输入是大写字符,完成本节后,我们把系统的默认字符改成小写,按下caps键,系统字符自动切换成大写。
2017-02-21 10:19:44 916
原创 面试算法:在整形数组中构建元素之和能整除数组长度的子集
假设A是一个整数数组,长度为n,数组中的元素可能是重复的。设计一个算法,找到一系列下标的集合I = {i(0), i(1), i(2)….i(n)}. 使得(A[i(0)] + A[i(1)] + … A[i(n)] ) mod n = 0.请给出求得集合I的算法
2017-02-16 10:51:18 701
原创 面试算法:利用堆栈计算逆向波兰表达式
给定一个四则运算表达式的字符串,如果该表达式满足逆向波兰表达式,那么该字符串要满足以下条件:1: 该表达式含有一个数字字符或一串数字字符。2:它拥有给定格式,如”A, B, 。“,其中A,B是逆向波兰表达式,句号。表示的是四种运算符"+,-,*,/"其中之一。例如字符串“3,4,*,1,2,+,+”就满足逆向波兰表达式,该表达式的值为:3 * 4 + (1+2) = 15.
2017-02-15 11:11:32 1211
原创 java开发C语言解释器:实现指针直接读写
上一节,我们实现了内存的数组化访问,本节的目的是实现通过指针直接对内存进行读写,完成本节后,我们的解释器将能正确的解释执行如下语句:*(p+1) = 1;
2017-02-14 12:05:41 722
原创 java开发系统内核:实现shift按键效果
前几节,我们花费不少精力在键盘响应的处理之上,到目前为止,我们的内核能够准确的将按键字符合理的显示在指定窗口上。但目前还有一些遗憾,就是当前内核对shift 键的按下不做反应。按理,当shift键按下后,再按数字键1,那么显示的字符应该是"!"而不是“1”,本节我们要处理的就是响应shift键的点击处理
2017-02-13 09:23:49 799
原创 java开发C解释器:实现动态内存的分配和读写
C语言有一个强大的功能,就是通过指针直接操作内存,正是因为C语言含有直接读写内存的机制,使得C语言在系统开发,底层开发等方面,占据了难以撼动的地位,同时也正是这个原因,C语言开发的程序常常出现内存泄漏和野指针等及其令人头疼的问题。本节,我们为解释器添加动态内存的分配和读写机制,完成本节内容后,解释器能解释执行有关动态内存的分配和读写的C代码
2017-02-02 12:10:55 1272
一个java实现的简易编译器
2016-02-18
一个android 文本比对app的实现代码
2015-11-16
Android 4.4 App Development Essential
2014-11-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人