A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© axing110 中级黑马   /  2014-10-24 22:51  /  786 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

利用今天跟新的视频,回顾了一下栈的知识和大家分享下吧,非常简单的栈
先讲一栈的原理:

栈在计算机中使用的频率很高,包括递归,函数都需要栈的支持,是一种非常重要的机制。
栈和对流有一点不一样,队列是双向的,栈是单向的。所以队列就像个茶杯一样,只能一边进出。
还有栈是后进先出的,最先进去的最后出来。
我就利用版主发的这个视频的只是写个栈吧


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;
        }
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马