利用今天跟新的视频,回顾了一下栈的知识和大家分享下吧,非常简单的栈 先讲一栈的原理: 栈在计算机中使用的频率很高,包括递归,函数都需要栈的支持,是一种非常重要的机制。 栈和对流有一点不一样,队列是双向的,栈是单向的。所以队列就像个茶杯一样,只能一边进出。 还有栈是后进先出的,最先进去的最后出来。 我就利用版主发的这个视频的只是写个栈吧 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; } } |
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |