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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

模拟堆栈代码:
import java.util.*;
class MyStack<T>{
        private LinkedList<T> data;
        public MyStack(){
                data=new LinkedList<T>();       
        }
        //添加栈元素
        public void add(T element){
                data.addLast(element);
        }
        //获取栈元素
        public T get(){
                if(data.isEmpty())
                        return null;
                return data.getLast();
        }
        //获取栈元素并移除
        public T get_remove(){
                if(data.isEmpty())
                        return null;
                return data.removeLast();
        }
        //获取栈元素个数
        public int size(){
                return data.size();
        }
        //清空栈
        public void clear(){
                data.clear();
        }
        public String toString(){
                return data.toString();
        }
        public static void main(String[] args){
                MyStack<String> ms=new         MyStack<String>();
                ms.add("我");ms.add("要");ms.add("上");ms.add("黑");ms.add("马");
                System.out.println("栈:"+ms+",共有"+ms.size()+"个元素");
                System.out.println("当前栈首元素:"+ms.get());
                System.out.println("依次获取栈元素:");
                for(int i=0,n=ms.size();i<n;i++)
                        System.out.println(ms.get_remove());
                System.out.println("最终栈"+ms);
               
        }
}

模拟队列代码:

import java.util.*;
class MyQueue<T>{
        private LinkedList<T> data;
        public MyQueue(){
                data=new LinkedList<T>();       
        }
        //添加队列元素
        public void add(T element){
                data.addLast(element);
        }
        //获取队列元素
        public T get(){
                if(data.isEmpty())
                        return null;
                return data.getFirst();
        }
        //获取队列元素并移除
        public T get_remove(){
                if(data.isEmpty())
                        return null;
                return data.removeFirst();
        }
        //获取队列元素个数
        public int size(){
                return data.size();
        }
        //清空队列
        public void clear(){
                data.clear();
        }
        public String toString(){
                return data.toString();
        }
        public static void main(String[] args){
                MyQueue<String> mq=new         MyQueue<String>();
                mq.add("我");mq.add("要");mq.add("上");mq.add("黑");mq.add("马");
                System.out.println("队列:"+mq+",共有"+mq.size()+"个元素");
                System.out.println("当前队列首元素:"+mq.get());
                System.out.println("依次获取队列元素:");
                for(int i=0,n=mq.size();i<n;i++)
                        System.out.println(mq.get_remove());
                System.out.println("最终队列"+mq);
               
        }
}

0 个回复

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