数据结构
文章平均质量分 50
钟HL
保持对生活工作的热度与态度;坚持自己的坚持;专注自己的专注;
展开
-
栈的使用------Java实现中缀表达式转为后缀表达式并计算
转换思路:1、中缀表达式转为字符数组按顺序遍历2、读到操作数的时,添加到要输出字符串3、读到操作符是“(”,则直接把“(”压入栈中。4、读到操作符“)”,则从栈中弹出栈元素并添加到要输出的字符串,直到遇到第一个“(”为止5、读到操作符“+”,“-”,若栈不为空且栈顶元素不是“(” 符号就弹栈中的数据,添加到要输出的字符串,否则就压栈6、读到操作符“*”,“/”,若栈不为空且...原创 2018-10-22 14:50:41 · 2327 阅读 · 0 评论 -
栈的创建------用数组实现栈
设计:1、该数组存储对象类型在实例化是才确定-----泛型2、数组的索引0是栈底3、创建一个正整数变量top ----是栈顶元素否后的索引号4、创建一个栈的接口----定义如下函数:代码实现:接口类:StackADT public interface StackADT <T> { /** * 压栈 * @param t */ pub...原创 2018-10-23 17:32:54 · 943 阅读 · 0 评论 -
栈的创建-----用链表实现栈
设计:1、创建Node节点类(存储链表的前节点和本节点存储的元素)2、节点存储的是泛型数据3、创建一个栈的接口----定义如下函数:4、接口实现类(栈顶元素指针和链表元素计数器)代码实现:接口类:StackADT public interface StackADT <T> { /** * 压栈 * @param t */ publi...原创 2018-11-01 09:09:03 · 2246 阅读 · 0 评论 -
队列的创建-------用链表实现队列
一、相关概念 ①、队列是一种线性集合,其元素从一端加入,另一端删除,是按照先进先出的方式处理(FIFO) ②队列的相关操作③Java.util.stack类,提供了传统的push,pop,peek. Java集合API对于队列只是提供Queue接口,由多个类(包括LinkedList类来实现)二、链表实现队列思路 ①自定义队列相关操作接口---...原创 2018-11-29 14:28:17 · 903 阅读 · 0 评论 -
队列的使用--------重复密钥
场景描述: 凯撒加密法是一种简单的消息编码方式:根据字母将消息中的每个字母移动k为,例如k=3,则在编码后的消息中,每个字母都会向前移动3位:a会替换成d,b会替换成e,以此类推。但是这种加密相当容易破解,字母的移动只有26中可能,要破解密码,只需要尝试各种k值,直到有一种可行 使用重复密钥可以对这种编码技术做出改进。这时不是将每个字符移动常数位,而是利用一个密钥列表,...原创 2018-11-28 09:27:59 · 778 阅读 · 0 评论