-
LeetCode 905题-按奇偶排序数组
LeetCode 905题-按奇偶排序数组:给定一个非负整数的数组,返回一个数组,所有的奇数元素在后面。
-
如何用队列实现栈?LeetCode第225题
要求使用2个队列来实现一个后进先出LIFO的栈,该栈支持的方法:入栈push()、出栈pop()、查看栈顶元素top()、栈是否为空empty()。
-
如何实现一个双端队列
零双端队列性质 见名知意,就是可以在队首、队尾分别执行入队、出队操作的一种队列。 一实现思路 参照用数组实现队列的思路,我们就完全可以实现一个双端队列。因为,我们底层的动态数组已经实现了addFirst()/addLas…
-
如何实现一个支持动态扩展的循环队列
我们利用动态数组快速的实现了队列这种基础的数据结构。但是,由于底层是动态数组存储,每次出队操作(删除数组的第1个元素)导致后面所有的元素都需要向前移动一个位置,进而导致出队操作的均摊时间复杂度是O(n)。显然,这不是我们…
-
如何实现队列这种数据结构
队列依然是一种线性数据结构; 规定只能在两端操作的数据结构,不能操作中间元素; 先进先出,First In First Out;
-
栈的应用:LeetCode第20题实现括号匹配
栈这种数据结构的具体应用场景:如何判定一个给定的字符串是否包含匹配的括号,对于包含“()”、"()[]{}"、"{[]}",形式的字符串,我们认为其是一个有效的括号,成对出现。对于“(]”则认为其不是有效的括号对。具体见…
-
如何实现栈这种数据结构
如何实现栈这种数据结构?
-
支持动态扩容的数组及复杂度分析
如何实现一个这次动态扩容的数组?如何分析它的时间复杂度?
-
支持泛型类的数组实现
如何手工实现一个支持泛型类型的数组?
-
数组这种数据结构的基本实现
数组的下标为什么从0开始?数组原来不只是一种数据类型,也是一种数据结构。