码迷,mamicode.com
首页 >  
搜索关键字:栈 出栈序列 入栈序列 合法性    ( 25578个结果
NIO与传统IO的区别
感性认识:  传统的socket IO中,需要为每个连接创建一个线程,当并发的连接数量非常巨大时,线程所占用的栈内存和CPU线程切换的开销将非常巨大。使用NIO,不再需要为每个线程创建单独的线程,可以用一个含有限数量线程的线程池,甚至一个线程来为任意数量的连接服务。由于线程数量小于连接数量,所以每个线程进行IO操作时就不能阻塞,如果阻塞的话,有些连接就得不到处理,NIO提供了这种非阻塞的能力。 小...
分类:其他好文   时间:2014-05-10 08:50:29    阅读次数:365
每天进步一点点——Linux系统中的异常堆栈跟踪简单实现
在Linux中做C/C++开发经常会遇到一些不可预知的问题导致程序崩溃,同时崩溃后也没留下任何代码运行痕迹,因此,堆栈跟踪技术就显得非要重要了。本文将简单介绍Linux中C/C++程序运行时堆栈获取函数及方法,简单实用。...
分类:系统相关   时间:2014-05-10 02:18:28    阅读次数:493
内存分配及清空、调试
1. 存分配的三个方法:(1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。(2)在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中...
分类:其他好文   时间:2014-05-09 16:33:10    阅读次数:430
java 进程/线程
进程 OS并发的一个任务CPU分时间片交替执行 宏观并行 微观串行线程:在一个进程中并发的一个顺序执行流程线程的组成:1.数据 堆空间共享 栈空间独立 2.CPU3.代码Thread 线程对象 继承Thread类型 覆盖run方法 直接创建Thread对象实现Runnable接口...
分类:编程语言   时间:2014-05-08 22:10:57    阅读次数:357
未处理的异常 stack overflow
今天在编译程序时遇到“0x00e304f7 处有未经处理的异常: 0xC00000FD: Stack overflow”的错误,也就是栈溢出了,google了一下,原来是我申请的一个变量太大了,const int maxnum = 10000; 改小一些就好了。局部变量的定义是在栈中申请空间的,栈溢...
分类:其他好文   时间:2014-05-08 19:53:07    阅读次数:268
对vector等STL标准容器进行排序操作(转!)
西方有句谚语:不要重复发明轮子!STL几乎封装了所有的数据结构中的算法,从链表到队列,从向量到堆栈,对hash到二叉树,从搜索到排序,从增加到删除......可以说,如果你理解了STL,你会发现你已不用拘泥于算法本身,从而站在巨人的肩膀上去考虑更高级的应用。排序是最广泛的算法之一,本文详细介绍了ST...
分类:其他好文   时间:2014-05-07 18:11:56    阅读次数:465
C++面向对象不同于Java之处总结
这两天较系统的看了下C++的基本用法,对比自己对Java理解,感觉就是C++特性远远多于Java,语法上兼容C,更加贴近系统和底层,对内存操作非常的灵活。如: C++中类的对象可以开辟在栈空间中。Java类的对象都必须用new关键字开辟在堆中; C++的基本数据类型也可以用new开辟在堆中。Java基本数据类型只能开辟在栈中,除非使用包装类包装成对象; C++用new开辟的内存必须手动delete,否则内存泄露。Java则有著名的垃圾回收; C++传参可以传值和传引用,也可以配合指针传对象地址,自己来决定。...
分类:编程语言   时间:2014-05-07 08:45:33    阅读次数:353
leetcode第一刷_Longest Consecutive Sequence
给你一个数组,O(N)时间找出某些个数,这些题如果没见过,还真不是很好想。做了这些题,我觉得有下面两个个比较常见的思路: 1. 用两个指针,可以从一边开始,走某个距离停止,也可能是一头一尾两个指针,定义一种大小关系,他俩比较之后移动,直到相遇。 2. 用其他的辅助的数据结构,可能是hash表,可能是map,可能是栈或者队列。这种通常用在访问了现在的不能确定他们是不是有用,是不是能影响最后的结果...
分类:其他好文   时间:2014-05-07 07:50:33    阅读次数:392
POJ 1958 Strange Towers of Hanoi (四塔问题,线性dp,记忆化搜索)
题目分析:四柱汉诺塔。由于题目已经给出了求解方法,直接写代码即可。下面总结一下,四塔问题。 感谢这篇文章的作者,点这里就到,总结的很好。直接贴过来~ 四塔问题:设有A,B,C,D四个柱子(有时称塔),在A柱上有由小到大堆放的n个盘子。 今将A柱上的盘子移动到D柱上去。可以利用B,C柱作为工作栈用,移动的规则如下: ①每次只能移动一个盘子。 ②在移动的过程中,小盘子只能放到大盘子的上面...
分类:其他好文   时间:2014-05-07 07:31:09    阅读次数:317
两个队列实现一个栈
转载请注明出处:    题目:用两个队列模拟一个栈,即用两个队列的出队和入队操作,来实现栈的出栈和入栈操作。    思路:稍微画下草图,便不难想出该题的解决方法,思路如下:    假设有两个队列Q1和Q2,当二者都为空时,入栈操作可以用入队操作来模拟,可以随便选一个空队列,假设选Q1进行入栈操作,现在假设a,b,c依次入栈了(即依次进入队列Q1),这时如果想模拟出栈操作,则需要将c出栈,因为在栈顶...
分类:其他好文   时间:2014-05-07 06:54:12    阅读次数:466
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!