队列是一种列表,不同的是队列只能在末尾插入元素,在队首删除元素。队列用于存储俺顺序排列的数据。先进先出。这点和栈不一样,在栈中,最后入栈的元素反被优先处理。可以将队列想象成银行排队办理业务的人,排队在第一个的人先办理业务,其它人只能排着,直到轮到他们为止。队列是一种先进先出(FIFO)的数据结构。队...
分类:
编程语言 时间:
2015-10-18 01:10:45
阅读次数:
223
读入n个整数定义栈数据类型定义栈的初始化、判空、判满、入栈、出栈函数写一主函数,完成n个数的读入和逆序输出#include#define stacksize 100#define OK 1#define ERROR 0#define Overflow -1typedef int Status;typ...
分类:
其他好文 时间:
2015-10-16 16:39:48
阅读次数:
237
今天写Demo的时候,发现了个问题,调试了半天,发现个规律: ? 从B 跳转到A界面 并finish?掉B,A的onCreate??居然快于B的onDestroy? ,使得在APP?开发 常用的管理界面的工具类中,一般界面初始化入栈,销毁...
分类:
移动开发 时间:
2015-10-15 22:21:32
阅读次数:
241
函数调用入栈顺序在函数调用时,第一个进栈的是主函数中函数调用后的下一条指令的地址,然后是函数的各个参数。再然后是函数中的局部变量。注意静态变量是不入栈的。Pascal语言中函数参数从左到右入栈的,C语言则从右至左。原因是Pascal语言不支持可变长参数,而C语言支持这种特色。通过栈堆分析可知,自左向...
分类:
其他好文 时间:
2015-10-10 10:27:03
阅读次数:
156
单调栈为栈结构,可O(N)求出数组中每个元素向两边所能扩展到的最大长度,满足扩展到的每个元素均大于(或小于)此元素。单调栈遵循严格递增或递减。以严格递减为例。数组L[i]、R[i]记录i点最多能扩展到的左端点与右端点;在元素x入栈时,将栈顶小于x的元素弹出,并令R[top]=x的位置令L(x的位置)...
分类:
其他好文 时间:
2015-10-07 22:46:21
阅读次数:
183
题目链接:http://poj.org/problem?id=2559求所给柱状图内面积最大的矩形。用了一个叫做单调栈的玩意,思路很像DP,就是每一个柱看作一个结构体,保存当前柱的高度以及它之前(左侧)所能到达的最大横坐标距离,且只有满足条件的时候才会入栈。 1 #include 2 #inclu....
分类:
其他好文 时间:
2015-10-06 15:23:41
阅读次数:
126
先通过一个小程序来看一看:#include
void foo(int x, int y, int z)
{
printf("x = %d at [%X]n", x, &x);
printf("y = %d at [%X]n", y, &y);
printf("z = %d at [%X]n", z, &z);
}int main(int argc, char *argv[])
{
foo(100,...
分类:
编程语言 时间:
2015-10-03 10:43:25
阅读次数:
215
一、Task、栈以及加载模式Task是一组与用户交互并执行特定工作的Activity的集合。他们根据被启动的顺序排列在栈中(回退栈)。当当前的Activity启动另一个Activty,新的Activity就会被压入栈的顶部并且得到焦点。上一个Activity仍然存在栈中,但是它停止活动了,当一个Ac...
分类:
其他好文 时间:
2015-10-02 18:34:54
阅读次数:
158
栈是一个内存数组,是一个LIFO(Last-in first-out,后进先出)的数据结构;栈存储几种类型的数据:某些类型变量的值;程序当前的执行环境;传递给方法的参数。 3.栈的特征数据只能从栈的顶端插入和删除;把数据放到栈顶称为入栈(push);从栈顶删除数据成为出栈(pop)。
对于每一个数来说,必须进栈一次、出栈一次。我们把进栈设为状态‘1’,出栈设为状态‘0’。n个数的所有状态对应n个1和n个0组成的2n位二进制数。由于等待入栈的操作数按照1‥n的顺序排列、入栈的操作数b大于等于出栈的操作数a(a≤b),因此输出序列的总数目=由左而右扫描由n个1和n个0组成的2n位.....
分类:
其他好文 时间:
2015-09-29 01:06:42
阅读次数:
155