剑指offer上的第七题,之前在Cracking the Coding interview上做过该题,这次把原来的程序搬了过来,并根据九度OJ的测试系统写了测试代码,在九度OJ上AC。
时间限制:1 秒内存限制:128 兆
题目描述:
用两个栈来实现一个队列,完成队列的Push和Pop操作。
队列中的元素为int类型。
输入:
每个输入文件包含一个测试样例。
对于每个测试样例,第一行输入一个n(1<=n<=100000),代表队列操作的个数。
接下来的n行,每行输入一个队列操作:
1. PUSH X 向队列...
分类:
其他好文 时间:
2014-05-07 06:36:48
阅读次数:
431
### 背景
银时跟我讲,想从 Netty3迁移到Netty4 。
问其原因是因为 Netty3在容器里会报错,错误堆栈:
java.io.IOException: 无法立即完成一个非阻止性套接字操作。
at sun.nio.ch.SocketDispatcher.close0(Native Method)
at sun.nio.ch.SocketDisp...
分类:
其他好文 时间:
2014-05-07 06:30:21
阅读次数:
425
1、Thumb指令访问R0-R7,Thumb-2访问所有寄存器。
2、满栈向下增长
PUSH {R0} ; *(--R13) = R0
POP {R0} ; R0 = *R13++
四个字节对齐,也就是地址是0x4,0x8 等。
3、
main
BL fun
fun
BX LR
4、写入到PC也就是R15的数值必须是奇数,不然会企图进入ARM模式...
分类:
其他好文 时间:
2014-05-07 06:08:21
阅读次数:
287
今天看一帖子,赵忠大哥的回复挺经典也很有用,记录下来!
在每个最后不带\n的printf后面加fflush(stdout);
在每个不想受接收缓冲区旧内容影响的scanf前面加rewind(stdin);
另外请检查scanf的返回值。
在占用内存空间较大的局部数组声明的前面加static将其从堆栈数据段挪到全局数据段即可避开因局部数组大小超过默认堆栈大小1MB造成程序不能正常...
分类:
编程语言 时间:
2014-05-07 06:07:39
阅读次数:
378
唉,刚刚用C++又重新写了一个较完善的表达式求值程序,最后精简后程序还不到100行,这不经让我
想到了大一上学期刚学c语言时自己费了好大的劲,写了几百行而且功能还不是很齐全(当时还不能计算有括号的表
达式)的简单计算器程序。刚把两个程序对比了一下,感触还是挺深的,同时也再一次体现了数据结构在程序设计
中的重要性。
以前的那个程序有漏洞而且逻辑复杂,所以就不提了,只说说现在改进后的程序,其思...
分类:
编程语言 时间:
2014-05-07 06:06:16
阅读次数:
441
Cortex-M3有以下特点:
1、32位内核
2、哈佛结构
3、大小端模式
4、可选的MPU
5、Thumb可以访问R0-R7,Thumb-2可以访问所有寄存器。
6、R13有两个,MSP和PSP,堆栈指针的最后两位为0,堆栈是4字节对齐。
7、R14存储子程序的返回地址。多于一级的,就保存到堆栈中。
8、
异常
特权级
用户级
异常handler...
分类:
其他好文 时间:
2014-05-07 03:21:37
阅读次数:
214
第一:点击新建之后,顶级部门显示当前的上级部门而不是最顶级的NULL
parentId有值就可以回显所以代码如下:
1、新建按钮的链接需要更改:
2.相应的Action 不需要修改,因为parentId 在点击相应的上级部门查看其下级部门时它的parentId就已经放到model的值栈里去了,所以可以直接用%{}OGNL表达式取得。
查看下级部门代码:...
分类:
其他好文 时间:
2014-05-07 03:11:59
阅读次数:
264
用栈实现括号匹配其实是一个很简单的问题,思路在代码注释里面写的很清楚了,只是接口设置的好像不太好。
如果在main里面设置的str不是动态分布的,在linux下就会出错,不知道windows会不会出问题。
kuohao.cpp
#include
#include "stack.cpp"
using namespace std;
//仅用于检测(),{},[],其他的符号原理都是一样的
bo...
分类:
其他好文 时间:
2014-05-07 02:39:17
阅读次数:
247
树
学习目标
理解什么是树及使用方法 学会使用树实现映射 用列表实现树 用类和引用实现树 用递归实现树 用堆实现优先队列
树的例子
前面我们学习过栈和队列这类线性数据结构,并且体验过递归,现在我们学习另一种通用数据结构,叫做树。树在计算机科学中应用广泛,象操作系统、图形学、数据库系统、网络等都要用到树。树和他们在自然界中的表哥——植物树——非常相似,树也有根,有分枝,有叶子...
分类:
编程语言 时间:
2014-05-06 23:24:22
阅读次数:
447
OpenGL通过相机模拟、可以实现计算机图形学中最基本的三维变换,即几何变换(模型变换—视图变换(两者合称几何变换))、投影变换、裁剪变换、视口变换等,同时,OpenGL还实现了矩阵堆栈等。理解掌握了有关坐标变换的内容,就算真正走进了精彩地三维世界。
坐标系统
世界坐标系:在现实世界中,所有的物体都具有三维特征,但计算机本身只能处理数字,显示二维的图形,将三维物体及二维数据联系在一起的唯一纽带...
分类:
其他好文 时间:
2014-05-06 22:44:53
阅读次数:
886