二、栈与队列 1、栈的定义 栈(Stack)是限制仅在表的一端进行插入和删除运算的线性表。
(1)通常称插入、删除的这一端为栈顶(Top),另一端称为栈底(Bottom)。 (2)当表中没有元素时称为空栈。 (3)栈为后进先出(Last In
First Out)的线性表,简称为LI...
分类:
编程语言 时间:
2014-05-06 09:00:26
阅读次数:
414
全局和静态数据区:用于存放全局变量和静态变量(全局变量和局部变量)常量数据区:用于存放常量数据代码区:用于存储代码栈:用于局部变量和函数参数堆:程序员申请(程序员控制的部分,new/delete#include
#include int gGlobal=100; // global int main...
分类:
编程语言 时间:
2014-05-05 23:48:12
阅读次数:
391
堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数...
分类:
编程语言 时间:
2014-05-05 23:23:31
阅读次数:
499
前言:去年以来,因徐翔和宁电突然举牌资质平平的 000692
惠天热电,引起本人的兴趣,陆陆续续花了比较多的时间和精力去研究和跟踪000692惠天热电,期间也两次亲自去沈阳调研,从一些台前幕后人士那里,逐步
对私募一哥徐翔有了更深入的了解,因为徐翔一贯给人的印象是低调,甚至是超低调,但自从那个录音门...
分类:
其他好文 时间:
2014-05-05 22:27:02
阅读次数:
389
我们以一个程序来展开讨论:用7ch中断例程完成loop指令的功能,在屏幕中间显示80个"!"
1.程序框架如下
assume cs:code
code segment
start:
mov ax,0b800h ;向8086CPU显存的地址
mov di,160*12 ;显示位置
mov bx,offset s-offset se ;跳转的位移
mov cx,80 ;循环次数
s:
m...
分类:
其他好文 时间:
2014-05-05 13:00:20
阅读次数:
321
1.CPU根据中断码如何找到中断处理程序
要定位中断处理程序,就需要找到中断处理程序的段地址和偏移地址,如果根据中断码找到他们?这就引入中断向量表,CPU用8位的中断类型码通过中断向量表找到相应的中断处理程序的入口地址。
2.使用中断类型码找到中断向量,并用它设置CS和IP,这个操作是由CPU硬件自动完成的。这个过程成为中断过程:
(1)从中断信息中取得中断类型码
(2)标志寄存器的值入栈...
分类:
其他好文 时间:
2014-05-05 12:57:22
阅读次数:
318
今天太背了,bug不断,检查到最后都会发现自己脑残了,粗心写错,更悲剧的是写错的时候还不提示错。
刚才有遇到一个问题,抛了这个异常Exception in thread "AWT-EventQueue-XX" java.lang.StackOverflowError
XX有好几个值,我遇到了2,7,20,其实他们都是一个错,StackOverflowError,对,就是栈溢出,为什么会栈溢出呢...
分类:
编程语言 时间:
2014-05-03 23:49:56
阅读次数:
269
一、后缀表达式求值
后缀表达式也叫逆波兰表达式,其求值过程可以用到栈来辅助存储。
假定待求值的后缀表达式为:6 5 2 3 + 8 * + 3 + *,则其求值过程如下:
(1)遍历表达式,遇到的数字首先放入栈中,依次读入6 5 2 3 此时栈如下所示:
(2)接着读到“+”,则从栈中弹出3和2,执行3+2,计算结果等于5,并将5压入到栈中。...
分类:
其他好文 时间:
2014-05-03 16:59:21
阅读次数:
309
把一般式子转换成逆波兰式。
这里的都是加括号的,难度降低点。
Example
Input:
3
(a+(b*c))
((a+b)*(z+x))
((a+t)*((b+(a+c))^(c+d)))
Output:
abc*+
ab+zx+*
at+bac++cd+^*
知道其特点就好办:
1 遇到字母一定是可以输出的
2 遇到操作符号就入栈
3 遇到括号')',就出栈...
分类:
其他好文 时间:
2014-05-03 15:35:28
阅读次数:
317
1.ret
指令用栈中的数据,修改IP的内容,从而实现近转移
CPU执行ret指令时,进行下面两步操作:
(1)(IP)=((ss)*16+(sp)) //使用栈顶元素修改IP实现跳转
(2)(sp)=(sp)+2
2.retf
用栈中的数据,修改CS和IP的内容,从而实现远转移
CPU执行retf指令时,进行下面四步操作:
(1)(IP)=((ss)*16+(sp))
...
分类:
其他好文 时间:
2014-05-02 06:54:21
阅读次数:
394