- 博客(8)
- 问答 (1)
- 收藏
- 关注
原创 倒序打印双链表算法
1.使用递归的方法public void reverseByRecur(Node head){ if(head==null) return; reverseByRecur(head.next); System.out.print(head.data); }2.根据栈的后进先出原则,可以使用栈,需要使用N个附加空间public void reverseByStack
2017-09-07 21:59:42 775
原创 用一个数组实现三个栈结构
所用方法为,第一个栈从数组底部开始,第二个栈从数组顶部开始,第三个栈从数组中间开始,并且向右。过程中需要不断的debug push操作的判断:第一步就是需要判断整个数组是否满了 第二步就是判断栈是否满了,满了需要移动栈 pop操作的判断:第一步就是判断栈是否为空 isCanPush:判断栈是否可以继续push,根据栈的顶部下标进行判断
2017-09-06 10:45:45 577
原创 提出一种数据结构支持push和pop操作以及第三种操作findMin,返回最小值,所有操作均以O(1)最坏时间运行
public class MyStack1 { private int[] data;//用于支持push和pop操作的数组 private int[] minData;//用于支持findMin操作的数组,存储一个最小值序列 private int dataIndex;//data数组的下标索引 private int minIndex;//minData数组的下标
2017-09-05 21:48:01 1282
原创 使用一个数组实现两个栈
public class TwoStack { private Object[] stack; //栈1在数组中的下标 private int size1; //栈2在数组中的下标 private int size2; //初始化数组的大小 public TwoStack(int length){ stack=new Objec
2017-09-05 17:25:06 1121
转载 使用一个数组实现栈
public class MyStack { private Object[] stack; private int size;//元素的个数 //初始化数组的大小 public MyStack(int length){ stack=new Object[length]; } //元素的个数 public int size(){
2017-09-05 16:24:25 312
转载 Josephus环问题解决
Josephus环的问题看起来很简单,假设有n个人排成一个圈。从第一个人开始报数,数到第m个人的时候这个人从队列里出列。然后继续在环里数后面第m个人,让其出列直到只剩下一个人使用队列解决此问题 一种方法是我们可以使用队列。怎么来处理呢?因为我们每次都是处理n个元素里第m个元素。如果我们每次从队列里一边取元素,一边又加入到队列的末尾,直到数到第m的时候。这个第m的元素直接让它移除,我们就保证了取到恰
2017-09-05 09:10:02 699
原创 中缀表达式转化为后缀表达式
public static void InFixToPostFix() { Stack<Character> s = new Stack<Character>(); String expression; Character token; int i = 0; Scanner sc = new Scanner(System
2017-09-04 22:06:04 267
原创 编写一个程序计算后缀表达式的值
public static double evalFix(){ Stack<Double> stack=new Stack<>(); String token; Double a,b,result=0.0; Scanner scanner=new Scanner(System.in); token=scanner.nex
2017-09-04 22:03:12 4266
空空如也
jks not found: jks KeyStore not available
2017-04-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人