Data Structure
文章平均质量分 86
souldak
爱工作爱生活
展开
-
Implementation of queue with 2 stack
如何用两个栈来实现一个队列呢? 一种很直接的想法是先push 到stack1的,然后stack1 整个再push到stack2,这样的话stack2就是最先的element在最上面了。每次push新元素,先stack2移到stack1,然后push新元素到stack2,再将stack1的元素push回stack2,pop时直接pop stack2就行,但是这样push的操作就不是O(1)原创 2013-08-29 15:27:09 · 1024 阅读 · 0 评论 -
ABStack 链表实现的stack
想着挺简单的,也就是push,pop,top,size,empty等几个操作,但是真正写起来才发现,自己C++的知识忘了好多。template更是一窍不通。对着一堆错误改了好久好久才终于编译成功。分享一下自己的代码,希望对后学者有所帮助。 /** * @file ABStack.cpp * @Brief stack implemented by Brian * @author Brian原创 2013-08-29 11:45:18 · 1155 阅读 · 0 评论 -
十进制字符串转成二进制(decimal to binary)
题目:给一个十进制的字符串例如1.25, 将其转化为二进制字符串,这个例子的结果是1.01 = 1*2^0 + 0*2^(-1) + 1*2^(-2) = 1.25。 如果不能完整的用二进制表示,输出ERROR 思路:首先整数部分和小数部分的做法不同,需要区分开。 先说整数部分,假设整数部分是n: 这个很简单,不断的对2取余然后数除2就行。例如5转成二进制: n=13 n%2 = 1原创 2013-09-02 12:45:35 · 4588 阅读 · 0 评论