***********************特殊的线性表 栈**************************** 栈: 先进后出、后进先出 栈的插入运算 叫做入栈 栈的删除运算 叫做出栈 演示代码: package com.chapter11; //栈的接口public interface I ...
分类:
其他好文 时间:
2018-11-05 01:11:57
阅读次数:
165
题意:前序遍历二叉树 前序遍历 根->左子树->右子树 先递归解法: 非递归方法: 在了解非递归之前,我们先了解一下递归在计算机中是怎样实现的。 递归,说白了就是将函数指针放入栈中!然后根据先进后出的原则进行递归! 其实非递归方法就是在模拟递归方法!想一下!如何将遍历到左子树之后又如何遍历到右子树呢 ...
分类:
其他好文 时间:
2018-11-04 19:45:16
阅读次数:
120
JavaScript中数据类型的存储 区别: 两种类型的区别是:存储位置不同 基本数据类型 原始数据类型是直接存储在栈(stack)中的简单数据段。因为占据空间小、大小固定,属于被频繁使用数据,所以放入栈中存储。 引用数据类型 引用数据类型存储在堆(heap)中的对象,占据空间大、大小不固定。如果存 ...
分类:
编程语言 时间:
2018-11-03 14:40:13
阅读次数:
174
cdecl是最常用的约定之一,参数是从右到左按序被压入栈,当函数完成时由调用者清理栈,并且将返回值保存在EAX中。 stdcall约定是被调用函数负责清理栈,其他和cdecl非常类似。 fastcall调用约定跨编译器时变化最多,但是它总体上在所有情况下的工作方式都是相似的。在fastcall中,前 ...
分类:
其他好文 时间:
2018-11-03 12:42:43
阅读次数:
204
如果给定N个不同字符,将这N个字符全排列,最终的结果将会是N!种。如:给定 A、B、C三个不同的字符,则结果为:ABC、ACB、BAC、BCA、CAB、CBA一共3!=3*2=6种情况。 public class Test6 { //设置总数 private static int count =0; ...
分类:
其他好文 时间:
2018-11-02 02:05:30
阅读次数:
190
首先了解Activity的四种状态 Running状态:一个新的Activity启动入栈后,它在屏幕最前端,处于栈的最顶端,此时它处于可见并可和用户交互的激活状态。Paused状态:当Activity被另一个透明或者Dialog样式的Activity覆盖时的状态。此时它依然与窗口管理器保持连接,系统 ...
分类:
移动开发 时间:
2018-11-01 15:11:07
阅读次数:
152
stack堆栈容器 堆栈是一个线性表,插入和删除只在表的一端进行。这一端称为栈顶(Stack Top),另一端则为栈底(Stack Bottom)。堆栈的元素插入称为入栈,元素的删除称为出栈。由于元素的入栈和出栈总在栈顶进行,因此,堆栈是一个后进先出(Last In First Out)表,即 LI ...
分类:
编程语言 时间:
2018-10-31 22:37:59
阅读次数:
182
查询题目保护开启,发现只开了NX,未开启RELRO和PIE,思路可以从修改got表展开。 ida装载分析程序执行流程,main函数发现是一个常规的菜单类题目,推测为堆相关题目。 Malloc函数。分配最大不超过4096,且如果大小超过112就直接放入堆区,否则先存入栈区,再拷贝到堆区。存在结构体保存 ...
分类:
其他好文 时间:
2018-10-31 21:19:37
阅读次数:
593
所谓的共享栈就是两个虚拟的栈使用一块固定大小的数组元素,涉及到如何不冲突的进行入栈出栈操作。对一维数组即在数组两头设置两个栈顶标记(指针)。然后分别这两个进行入栈出栈操作。当前面的栈标记位置+1=后面栈的位置,那么不可以进行入栈操作,如果两个栈有在栈底(对前面的来说是top1== 1,后一个是top ...
分类:
编程语言 时间:
2018-10-31 18:28:22
阅读次数:
141
LRU(Least Recently Used) 出发点:在页式存储管理中,如果一页很长时间未被访问,则它在最近一段时间内也不会被访问,即时间局部性,那我们就把它调出(置换出)内存。 为了实现LRU淘汰算法,需要一些特殊的硬件支持。 三种可行方法 下面给出,栈法的实现代码: 原理: 运行截图: (似 ...
分类:
编程语言 时间:
2018-10-30 00:24:42
阅读次数:
304