数据结构(java)
钟小林
这个作者很懒,什么都没留下…
展开
-
栈基于数组和链表的实现方式(java)
一、栈基于数组的实现 用数组实现栈时,将栈底置于数组索引0处,应确定一个泛型数组,数组的容量,以及标识下一个可用数组单元的整型变量top。 栈的操作包括入栈(push),出栈(pop),查看栈顶元素(peek),判断栈是否为空(isEmpty),确定栈内有多少个元素(size)。实现步骤 1.定义栈的接口ADT public interface StackADT<T> { public v原创 2016-11-20 09:19:08 · 574 阅读 · 0 评论 -
栈的应用——后缀表达式的计算
## 一、后缀表达式的计算方法 ## 给出一个算式,如:(3 * 4-(2+5)) * 4 / 2,其等价的后缀表达式为:3 4 * 2 5 + - 4 * 2 /;计算方法为从左到右扫描后缀表达式,遇到数字则入栈,遇到运算符则将栈中的数字出栈,第一个出栈的数字充当第二个运算数,第二个出栈的数字充当第一个运算数,与运算符作运算,并将结果入栈,最后栈中剩下的那个数就是运算结果。 二、代码实现 Post原创 2016-11-23 10:47:27 · 1543 阅读 · 0 评论 -
队列基于链表和数组的实现方法(java)
一、队列的定义 队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。 队列的数据元素又称为队列元素。在队列中插入一个队列元素称为入队,从队列中删除一个队列元素成为出队。因为队列只允许在一段插入,在另一端删除,所原创 2016-11-24 20:20:58 · 978 阅读 · 0 评论 -
队列的应用--凯撒加密法
凯撒加密法简介 凯撒加密(Caesar cipher)是一种简单的消息编码方式:它根据字母表将消息中的每个字母移动常量位k。举个例子如果k等于3,则在编码后的消息中,每个字母都会向前移动3位:a会被替换为d;b会被替换成e;依此类推。字母表末尾将回卷到字母表开头。于是,w会被替换为z,x会被替换为a。 遗憾的是凯撒加密法箱单容易破解。字母的移动只有26种可能,要破解密码,只需尝试各种密钥值,直到有一原创 2016-11-27 10:03:47 · 2545 阅读 · 0 评论