利用今天跟新的视频,回顾了一下栈的知识和大家分享下吧,非常简单的栈
先讲一栈的原理:
栈在计算机中使用的频率很高,包括递归,函数都需要栈的支持,是一种非常重要的机制。
栈和对流有一点不一样,队列是双向的,栈是单向的。所以队列就像个茶杯一样,只能一边进出。
还有栈是后进先出的,最先进去的最后出来。
我就利用版主发的这个视频的只是写个栈吧
public class test_11 {
public static void main(String[] args) {
LinkedList<String> list=new LinkedList<>();
strack ss=new strack(list);
ss.push("axing1");
ss.push("axing2");
ss.push("axing3");
ss.push("axing4");
ss.push("axing5");
ss.push("axing6");
System.out.println(ss.get());
System.out.println(ss.count());
System.out.println(ss.pop());
System.out.println(ss.pop());
System.out.println(ss.pop());
System.out.println(ss.pop());
System.out.println(ss.pop());
System.out.println(ss.pop());
System.out.println(ss.pop());
System.out.println(ss.pop());
System.out.println(ss.count());
}
}
class strack
{
LinkedList<String> li;
private int i;
strack(LinkedList<String> li)
{
this.li=li;
}
public void push(String s)
{
i++;
li.add(s);
}
public String get()
{
if(i<=0)
{
System.out.println("哥们栈空了,不要取了");
throw new RuntimeException("我没有元素了");
}
i--;
return li.peekLast();
}
public String pop()
{
if(i<=0)
{
System.out.println("哥们栈空了,不要取了");
throw new RuntimeException("我没有元素了");
}
i--;
return li.pollLast();
}
public int count()
{
return i;
}
} |
|
|