摘要: 链表是一个递归的数据结构,它或者为null,或者是指向一个结点的引用,该结点含有一个泛型的元素和指向另一个链表的引用.可以用一个内部类来定义节点的抽象数据类型: 根据递归的定义,我们只需一个Node类型的变量就能表示一条链表,只要保证它的值是null或者指向另一个Node对象,且该对象的next域指 阅读全文
posted @ 2016-06-29 12:13 hlhdidi 阅读(470) 评论(0) 推荐(0) 编辑
摘要: 在实现Queue的API的时候,可以使用两个实例变量做索引,一个变量head指向队列的开头,另一个变量tail指向队列的结尾.在删除一个元素的时候,使用head访问,并将head+1,插入一个元素的时候,使用tail保存它,并将tail加1.如果某个索引增加到超过了数组的边界的时候,则将它重置为0. 阅读全文
posted @ 2016-06-29 10:27 hlhdidi 阅读(3522) 评论(0) 推荐(0) 编辑
摘要: 栈是一个常用的最简单的数据结构,这里提供了其实现.内部维护了一个数组,并且可以动态的调整数组的大小.而且,提供了迭代器支持后进先出的迭代功能.Stack的实现是所有集合类抽象数据类型实现的模板,它将所有元素保存在数组中,并动态的调整数组的大小,以保持数组大小和栈大小之比小于一个常数. 阅读全文
posted @ 2016-06-29 09:02 hlhdidi 阅读(1217) 评论(0) 推荐(0) 编辑
摘要: 例如:如果输入:( ( 1 + 2 ) * ( 3 + ( 4 * 5 ) ) )可以计算出输入的字符串所对应的算术表达式的值.我们支持运算符+,-,*,/,和一个一元运算abs,可以用一个简单的算法获取这个算术表达式的值: 我们用两个栈(一个用于保存操作符,一个用于保存操作数).表达式由括号,运算 阅读全文
posted @ 2016-06-29 08:12 hlhdidi 阅读(1091) 评论(0) 推荐(0) 编辑