折半查找(二分查找)是个常用基础算法了。个人觉得主要注意事项就是不要写递归吧。其实实际应用中递归能不用就不用,压栈出栈效率较低而且递归层级太多容易爆栈。 只要分别维护一个指向当前首尾的值即可消除递归。 实现: 传入一个数组arr(已升序排序)和要找的值k。找到了返回下标,找不到返回-1. ...
分类:
其他好文 时间:
2016-11-13 16:03:34
阅读次数:
126
1、从左而右对算数表达式进行扫描,每次读入一个字符s1[i]; 2、若遇到数字或小数点,则立即写入s2[i],若遇算数运算符,将“ ”(空格)写入s2[i]; 3、遇到左括号“(”则压栈; 4、若遇算术运算符,如果它们的优先级比栈顶元素高,则直接进栈,否则弹出栈顶元素输出到s2[i],直到新栈顶元素 ...
分类:
编程语言 时间:
2016-11-08 01:40:46
阅读次数:
227
函数内联用内联取代宏代码 C++ 语言支持函数内联,其目的是为了提高函数的执行效率(速度)。在C程序中,可以用宏代码提高执行效率。宏代码本身不是函数,但使用起来象函数。预处理器用复制宏代码的方式代替函数调用,省去了参数压栈、生成汇编语言的CALL调用、返回参数、执行return等过程,从而提高了速度 ...
分类:
其他好文 时间:
2016-10-20 12:25:11
阅读次数:
153
此题为凸包问题模板题,题目中所给点均为整点,考虑到数据范围问题求norm()时先转换成double了,把norm()那句改成<vector>压栈即可求得凸包。 初次提交被坑得很惨,在GDB中可以完美运行A掉,到OJ上就频频RE(此处应有黑人问号) 后来发现了问题,原因是玩杂耍写了这样的代码 于是乎, ...
分类:
其他好文 时间:
2016-10-14 20:39:45
阅读次数:
95
VC里面:PASCAL==CALLBACK==WINAPI==__stdcall _stdcall是Pascal程序的缺省调用方式,通常用于Win32 Api中,函数采用从右到左的压栈方式,自己在退出时清空堆栈。VC将函数编译后会在函数名前面加上下划线前缀,在函数名后加上"@"和参数的字节数。 _c ...
题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是 ...
分类:
其他好文 时间:
2016-10-07 13:34:02
阅读次数:
147
栈和队列其实就是操作受限的队列。 1~~栈的特点:栈是限定仅在表的另一端(栈顶)进行插入,删除操作的线性表,是后进先出的线性表。 2~~顺序栈 (1)顺序栈的存储表示 (2) 压栈操作 (3)弹栈操作 3~~链式栈 (1)链式栈的存储表示 指向表头的指针为栈定指针 (2) 压栈操作 (3) 弹栈操作 ...
分类:
其他好文 时间:
2016-10-05 19:56:55
阅读次数:
161
?更多技术干货请戳:听云博客 基本术语定义 1.系统栈(system stack)是一个内存区,位于进程地址空间的末端。 2.在将数据压栈时,栈是自顶向下增长的,该内存区用于函数的局部变量提供内存。它也支持在调用函数时传递参数。 3.如果调用了嵌套的过程,栈会自上而下增长,并接受新的活动记录(act ...
分类:
编程语言 时间:
2016-09-20 16:32:15
阅读次数:
194
CPU异常主要分为三类:错误类异常,陷阱类异常和终止类异常 1 错误类异常 Fault CPU遇到该类异常后,会先将CS和EIP(当前发生错误的指令,而不是下一条指令)压栈,然后跳到异常处理函数中,执行完成后恢复到原位置重新执行该指令,如果还有错误,还会再进。 例如内存缺页异常就是错误类异常,CPU ...
分类:
其他好文 时间:
2016-09-09 16:47:33
阅读次数:
446
和上题差不多http://www.cnblogs.com/0summer/p/5837634.html 输入一个字符串,代表一个表达式,包含的运算符有+,-,*,/ 本题没有包括括号,我的做法是把数字和+或者-压栈,继续遍历,如果遇到*或者/取出栈顶的数字和*或者/之后的数字进行计算然后再压栈,最后 ...
分类:
其他好文 时间:
2016-09-03 19:37:33
阅读次数:
124