您现在的位置: 爱51代码网 >> 主页设计 >> 文章正文
设计包含max函数的队列

设计包含max函数的队列
问题:

假设有这样一个拥有3个操作的队列:

1.EnQueue(v)看,将v加入队列中

2.DeQueue:使队列中的队首元素删除并返回此元素

3.MaxElement:返回队列中的最大元素

设计一种数据结构和算法,让MaxElement操作的时间复杂度尽可能的降低。

分析与解法:

先实现一个带有max函数的栈,然后用两个栈实现一个队列

[java] view plaincopyprint?
01.import java.util.LinkedList; 
02. 
03. 
04.public class Test_3_7 { 
05. 
06.    /**
07.     * @param args
08.     */ 
09.    public static void main(String[] args) { 
10.        Queue queue = new Queue(); 
11.        queue.EnQueue(4); 
12.        System.out.println(queue.MaxElement()); 
13.        queue.EnQueue(1); 
14.        System.out.println(queue.MaxElement()); 
15.        queue.EnQueue(5); 
16.        System.out.println(queue.MaxElement()); 
17.        queue.EnQueue(3); 
18.        System.out.println(queue.MaxElement()); 
19.        queue.DeQueue(); 
20.        System.out.println(queue.MaxElement()); 
21.        queue.DeQueue(); 
22.        System.out.println(queue.MaxElement()); 
23.        queue.DeQueue(); 
24.        System.out.println(queue.MaxElement()); 
25.         
26. 
27.    } 
28.     
29.     
30.} 
31.//先实现一个具有查找最大值功能的栈  
32.class Stack{ 
33.    LinkedList<Integer> datalist = new LinkedList<Integer>(); 
34.    LinkedList<Integer> helplist = new LinkedList<Integer>(); 
35.    public void push(int i){ 
36.        if(datalist.size()==0){ 

[1] [2] 下一页

  • 上一篇文章:

  • 下一篇文章: 没有了
  • 最新文章 热点文章 相关文章
    设计包含max函数的队列
    随机从数组中取出指定的不重复的
    mysql主从同步延迟方案解决的学习
    青岛科学六年级下册教材分析
    生日旅行总结
    中小板生日快乐随感
    送生日快乐桑葚乳酪小蛋糕
    写给女儿的生日快乐
    总分公司财务核算
    恢复使用繁体字可行性研究报告
    mysql主从同步延迟方案解决的学习
    生日旅行总结
    中小板生日快乐随感
    送生日快乐桑葚乳酪小蛋糕
    写给女儿的生日快乐
    总分公司财务核算
    恢复使用繁体字可行性研究报告
    保险受益人制度相关问题的探讨
    初中生地理读图能力培养的研究
    搞笑生日祝福
    随机从数组中取出指定的不重
    C++奋斗小蜗牛在请客源代码
    java版坦克大战源代码
    hdu 1789 贪心算法源代码
    中间件基础知识
    OK6410 tftp下载内核、文件系
    java实现u盘指定内容的自动复
    一个简单实用的轮播器源代码
    js只能输入数字和小数点的文
    ExtJS & GTGrid 简单用户管理
     



    设为首页 | 加入收藏 | 网站地图 | 友情链接 |