用removeLast和removeFrist来模仿堆和栈

2024-06-19 23:58

本文主要是介绍用removeLast和removeFrist来模仿堆和栈,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

/*

*在大不久前,我决定自学Java,关注了很多的公众号、微博等。没几天我看到一个笑话:

*晚上孩子哭了,老婆让我去看看。

*我说:“不行,咱们的床是队列,你先上的床就得你先下床。。。

*老婆说:NO NO No,是栈。 

* 紧接着一脚踹到我的屁股上。

* 当时,看了评论,都是在说程序员夫妻欢乐多之类的话,也上网查了堆栈的知识,

* 不是计算机专业的,看得也是云里雾里的。今天是二轮复习基础知识,

* 关于LinkedList有可以模拟堆栈的方法,就上手操作了一下,才理解了这个笑话的真谛,

* 越来越感觉,编程语言的魅力了,开心。

*/

 1 import java.util.LinkedList;
 2 
 3 public class NoNo {
 4     public static void main(String[] args) {
 5         MyQueue q = new MyQueue();
 6         q.add("老婆先上床");
 7         q.add("我在老婆之后上床");
 8 
 9         while (q.isEmpty() == false) {
10 
11             System.out.println(q.get2() + "却要下床哄熊孩子");
12 
13         }
14 
15     }
16 }
17 
18 class MyQueue {
19     private LinkedList List;// 底层
20 
21     MyQueue() {
22         List = new LinkedList();
23     }
24 
25     public void add(Object obj) {
26         List.addFirst(obj);
27     }
28     public Object get2() {
29         // 模仿栈
30         return List.removeFirst();
31     }
32 
33     public boolean isEmpty() {
34         return List.isEmpty();
35     }
36 }
PutOut:
我在老婆之后上床却要下床哄熊孩子
老婆先上床却要下床哄熊孩子
 1 import java.util.LinkedList;
 2 
 3 public class NoNo {
 4     public static void main(String[] args) {
 5         MyQueue q = new MyQueue();
 6         q.add("老婆先上床");
 7         q.add("我在老婆之后上床");
 8 
 9         while (q.isEmpty() == false) {
10             
11                 System.out.println(q.get()+"却要下床哄熊孩子");
12         }
13 
14     }
15 }
16 
17 class MyQueue {
18     private LinkedList List;// 底层
19 
20     MyQueue() {
21         List = new LinkedList();
22     }
23 
24     public void add(Object obj) {
25         List.addFirst(obj);
26     }
27 
28     public Object get(){
29     //模仿队列
30     return List.removeLast();
31         }
32 
33     public boolean isEmpty() {
34         return List.isEmpty();
35     }
36 }
OutPut:
老婆先上床却要下床哄熊孩子
我在老婆之后上床却要下床哄熊孩子

相关知识补充:

1155461-20170628190710071-1810500344.png

追源码:

1155461-20170628191507930-709107486.png

 

这篇关于用removeLast和removeFrist来模仿堆和栈的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1076523

相关文章

小程序模仿抖音

效果图:   一开始思路是使用swiper来实现上下滑的效果,并且在swiper-item里嵌套video,但是一直有莫名其妙的问题,后来在小程序API文档里也看到video无法在swiper中使用。转换思路改成监听用户上下滑,view上绑定如下事件 bindtouchstart="touchstart" bindtouchmove="touchmove" bindtouchend="t

HumanPlus——斯坦福ALOHA团队开源的人形机器人:融合影子学习技术、RL、模仿学习

前言 今天只是一个平常的日子,不过看到了两篇文章 一篇是《半年冒出近百家新公司,「具身智能」也有春天》 我看完之后转发到朋友圈,并评论道:让机器人翻一万个后空翻,不如让机器人打好一个螺钉,毕竟在目前阶段 炫酷没有意义,所以我们近期全力为工厂去赋能,解决一个个工业场景 期待我司与更多工厂合作,从前期的验证、评估开始另外一篇文章便是之前斯坦福Moblie aloha团队竟然开源推出了他们的人形机器

ch32vxx模仿stm32位带操作

stm32系列中内核为cm3的芯片支持位带操作,国产芯片模仿stm32规格的很多(c8t6现实标准),最近买了块沁恒的ch32v103r8t6板子,ch32vxx系列是riscv内核的,不支持位带操作,这意味着好多代码没法直接借鉴(无奈)。 通过网络搜索和C语言重新学习(位域和宏),找到了以下替代方法。 typedef struct { //根据芯片内存大小端设置,当前为小端模式,大端反过来u

[文献解读]:斯坦福最新研究-HumanPlus:人形机器人跟踪和模仿人类

摘要 制造具有与人类相似外形的机器人的关键论点之一是,我们可以利用大量人类数据进行训练。然而,由于人形机器人感知和控制的复杂性、人形机器人与人类在形态和驱动方面仍然存在的物理差距,以及人形机器人缺乏从自我中心视觉学习自主技能的数据管道,因此在实践中这样做仍然具有挑战性。 在本文中,我们介绍了一个全栈系统,供人形机器人从人类数据中学习运动和自主技能。我们首先使用现有的40小时人体运动数据集通过

模仿qsort实现一个通用的冒泡排序

目录 前言 模仿 排序整型数组 排序结构体数组 排序字符数组 前言 qsort在前面我们讲到底层逻辑是快速排序的方式,是不是可以发现有了qsort来进行排序的话,就更加的方便快捷,我们在使用的时候 一方面,代码量会大大的减少 另一方面,可以排序任意类型的数据 是不是发现了这函数的魅力呢? 那么今天我们也来当一个小小开发员来模仿qsort的功能实现一个通用的冒泡

网站不会被模仿复制

怎样的网站不会被模仿复制 文章目录 前言一、发展网站具体特色二、执行坚持更有力度总结 前言 互联网网站难免会被别人copy,那么怎么样去避免这样的问题呢? 提示:以下是本篇文章正文内容,下面案例可供参考 一、发展网站具体特色 网站的具体特色不是那些夸夸其谈虚有其表的语言,而是要让网站真正的处于一种特色之中,就以互联网站长界的a5、落伍论坛来说,两者互有特色,a

利用对象流模仿登陆注册功能——Java对象流应用

要求: 1.建一个User类,类中结构有用户名、密码、注册日期三个属性, 一个注册方法和一个登录方法。 2.建一个Data类,用一个List装载用户数据,有保存数据,读取数据的方法。 3.利用对象流,读写List,实现登陆,注册功能。 我的主要思路是,User类里注册方法,需要有一个保存到List并 写入磁盘的方法,我写在F盘。于是调用了Data类的保存方法,传一个生成的User对象

【JAVASE】面向对象编程综合案例--------模仿电影信息系统

需求: (1)展示系统中的全部电影(每部电影展示:名称、价格) (2)允许用户根据电影编号(ID)查询出某个电影的详细信息。 目标:使用所学的面向对象编程实现以上两个需求。 代码: Movie.java MovieOperator.java Test.java 代码运行;

产品创新管理:从模仿到引领,中国企业的创新之路

一、引言 在全球化竞争日益激烈的今天,科技创新已成为推动国家经济增长和社会进步的关键动力。中国自改革开放四十年来,在科技创新领域取得了举世瞩目的成就,从跟踪模仿到自主研发,再到自主创新、开放创新和协同创新并举,中国正逐步迈向创新型国家的行列。然而,与建成世界科技强国的要求相比,我国在科技创新能力建设方面仍面临诸多挑战。本文旨在探讨产品创新管理在中国企业创新发展战略中的重要性,并借鉴华为等领先企业

Android 模仿城市列表ExpandableListView

好久没写博客了。很多东西都没积累,现在要开始重新积累起来了。嘻嘻 最近在写一款获取城市列表,当点击市名称时,将其下面的区名称显示出来,首先我是利用往layout中加入布局文件实现的。第三种是从网上看到有人用ExpandableListView实现的。第四种是自己整理的。 第一种方法跟第二种方法十分类似。第二种方法比较精简一点儿。 public class TwoActivity ext