栈的原理明白,但是不知道为什么这样写,求具体分析!

问题描述

请用LinkedList模拟栈数据结构的集合,并使用。packagecn.itcast_03;importjava.util.LinkedList;/**自定义栈使用*add*get*/publicclassMyStack{privateLinkedListlink;publicMyStack(){link=newLinkedList();}publicvoidadd(Objectobj){link.addFirst(obj);}publicObjectget(){returnlink.removeFirst();}publicbooleanisEmpty(){returnlink.isEmpty();}}publicclassMyStackDemo{publicstaticvoidmain(String[]args){//创建集合对象MyStackmy=newMyStack();//添加元素my.add("hello");my.add("world");my.add("java");//获取元素//System.out.println(my.get());while(!my.isEmpty()){System.out.println(my.get());}}}

解决方案

解决方案二:
先进向出嘛。。。所以,add的时候加到头上,get的时候,从头上remove..还有哪里不明白啊?
解决方案三:
具体哪里不明白啊?代码挺清楚的啊。栈只有一个出入口,进出都是从最上面操作啊
解决方案四:
代码写的挺清楚的吧,一个入口进,一个入口出,哪里不明白?
解决方案五:
你去查查api看看addFirst和removeFirst方法干什么用的,就明白为什么符合栈的后进先出了。
解决方案六:
我明白,你想怎样解释
解决方案七:
把名字改一下importjava.util.LinkedList;publicclassMyStack1{privateLinkedListlink;publicMyStack1(){link=newLinkedList();}publicvoidpush(Objectobj){link.addFirst(obj);}publicObjectpop(){returnlink.removeFirst();}publicbooleanisEmpty(){returnlink.isEmpty();}}

解决方案八:
纯粹的计算机程序是挺难理解的可以买一把玩具枪,带压子弹那种的,给子弹编上号,一颗一颗压进去(push),再一颗一颗弹出来(pop),对比着就明白了

时间: 2024-12-23 08:07:50

栈的原理明白,但是不知道为什么这样写,求具体分析!的相关文章

想把数组实现的日期打印出来,不知道该怎么写,求大神指导,不要笑话~~

问题描述 想把数组实现的日期打印出来,不知道该怎么写,求大神指导,不要笑话~~ public class Test{ public static void main(String [] args) { int i; Date[] days; days = new Date[3]; for (i=0; i<3; i++) { days[i] = new Date(2015 9 i+2); }} } class Date { int year month day; public Date(int y

希望建立一个循环,i值从start递变到end,不知道该怎么写

问题描述 希望建立一个循环,i值从start递变到end,不知道该怎么写 假如end>start,那么可以 for(int i=start,i<=end,i++){} 假如end for(int i=start,i>=start;i--){} 有没有写法可以统一一下,不要分开来写 解决方案 1.循环前先判断, int small=end>start:start?end; int max=end>start:end?start; for(int i=small,i<=ma

c++-C++大神请看过来!!!一直出现这个问题,不知道怎么改,求帮助~

问题描述 C++大神请看过来!!!一直出现这个问题,不知道怎么改,求帮助~ e:数据结构课程设计simulationsimulation.h(52) : fatal error C1001: INTERNAL COMPILER ERROR (compiler file 'msc1.cpp', line 1786) Please choose the Technical Support command on the Visual C++ Help menu, or open the Technic

c语言-我想用定时和外部中断写一个小车避障程序,可是不知道哪里错了,求解答

问题描述 我想用定时和外部中断写一个小车避障程序,可是不知道哪里错了,求解答 5C #include#include#define uint unsigned int#define uchar unsigned charsbit echo=P3^2;sbit trig=P2^3;unsigned char stime; void PWM_zk0(float zk) //高电 平占得比例占空比为(Gao/255){ CCAP0H = CCAP0L =255*(100.0 - zk)/100.0;

jsoup解析html某段字符串获取不了,应该是转义问题,但不知道如何解决,求帮助

问题描述 jsoup解析html某段字符串获取不了,应该是转义问题,但不知道如何解决,求帮助 http://pan.baidu.com/wap/share/home?uk=3306425232&third=0 这是我用jsoup解析的一个url地址,解析其中一段class为该页面信息: 控制台输出如下 <div class="pages complete-pages" xmlns="http://www.w3.org/1999/xhtml"> &

面试问题在Android开发的过程中怎么锁定oom?我只知道怎么解决但是不知道怎么锁定?求指导。

问题描述 面试问题在Android开发的过程中怎么锁定oom?我只知道怎么解决但是不知道怎么锁定?求指导. 面试问题在Android开发的过程中怎么锁定oom?我只知道怎么解决但是不知道怎么锁定?求指导. 解决方案 http://blog.csdn.net/leehong2005/article/details/8056608

c-运行出现的错误不知道怎么修改,求答案

问题描述 运行出现的错误不知道怎么修改,求答案 #include #define Vmas 15 typedef char VType; typedef int EType; typedef struct{ VType vexs[Vmax]; EType edges[Vmax][Vmax]; int Vnum, Enum; }MGRAPH; MGRAPH CREATMG(MGRAPH G){ int i,j; char vi,vj; printf("please intput the elemn

c++-找到一段代码不知道什么意思,求解释代码

问题描述 找到一段代码不知道什么意思,求解释代码 #include #define DIST(X,Y,A,B) DA=(X)-(A);DB=(Y)-(B);D=std::sqrt(DA*DA+DB*DB);C=std::max(1.0-(D/H)*(D/H)*(D/H),0.0)*100.0f; double X=25.0f,Y=25.0f,R=0.1f,H=0.5f,RADC=0.45f,D=0.99f,G=-9.81f; int NRX=ceil(X/H),NRY=ceil(Y/H); st

struts2.0-初学Struts2,总是出现404问题,不知道是哪里写错了,实在是找不到,求大神们帮忙。。

问题描述 初学Struts2,总是出现404问题,不知道是哪里写错了,实在是找不到,求大神们帮忙.. jsp页: Struts.xml: <?xml version="1.0" encoding="GBK"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN" "http://strut