链表实现栈、队列
2015-11-26 15:04
274 查看
栈结构:
对数据的存储利用链式存储;所有的数据类型都支持;栈的方法: 压栈、 弹栈、 判空。
队列结构:
对数据的存储利用链式存储;所有的数据类型都支持; 队列的方法:入队、出队、判空。
对数据的存储利用链式存储;所有的数据类型都支持;栈的方法: 压栈、 弹栈、 判空。
队列结构:
对数据的存储利用链式存储;所有的数据类型都支持; 队列的方法:入队、出队、判空。
package repeat_job1; public class Stack_Queue { private Object data; private Stack_Queue next,First,obj2=null,temp=this; private int flag=0; public Stack_Queue(){} public Stack_Queue(Object data){ this.data=data; } public void push(Object data) { Stack_Queue obj1; obj1=new Stack_Queue(data); obj1.next=this.next; this.next=obj1; } public boolean stack_IsEmpty() { temp=temp.next; return temp==null; } public Object pop() { return temp.data; } public void in_Queue(Object data) { Stack_Queue obj3; obj3=new Stack_Queue(data); if(obj2==null)//obj2.next会出现空指针! { obj2=obj3; First=obj2; obj2.next=this; } obj3.next=this; obj2.next=obj3; obj2=obj3;//obj2要紧跟obj3; } public boolean queue_IsEmpty() { if(flag==1) { First=First.next; return First.next==null; } else { return First.next==null; } } public Object out_Queue() { flag=1; return First.data; } }
import repeat_job1.Stack_Queue; public class Stack_Queue_Test { public static void main(String[] args) { Stack_Queue obj1=new Stack_Queue(); obj1.push("hello"); obj1.push("world"); obj1.push("张三"); obj1.push(23333); System.out.println("出栈:"); while(!obj1.stack_IsEmpty()) { System.out.print(obj1.pop()+" "); } System.out.println(); Stack_Queue obj2=new Stack_Queue(); obj2.in_Queue("hello"); obj2.in_Queue("world"); obj2.in_Queue("张三"); obj2.in_Queue(23333); System.out.println("出队:"); while(!obj2.queue_IsEmpty()) { System.out.print(obj2.out_Queue()+" "); } } }
相关文章推荐
- [LeetCode]Minimum Height Trees
- [国嵌攻略][065][DM9000驱动程序设计]
- 终于解决了IE8不支持数组的indexOf方法,array的IndexOf方法
- SqlSessionDaoSupport与SqlSessionTemplate对比
- 程序优化——位运算
- php Spl的常用函数 链式操作
- Mongodb索引分析工具Dex 安装与使用
- 将DataGridVIew数据导出到Excel中的两种方法
- 让程序在远程主机后台运行 (&、nohuo、 screen)Linux 使用技巧
- php 一致性hash
- java读取xml文件
- LeetCode()Minimum Window Substring 超时,但觉得很清晰。
- (c++) int 转 string,char*,const char*和string的相互转换
- 在Java的Struts框架下进行web编程的入门教程
- mongo 集群时间不同步异常
- swift学习笔记-3
- adb shell 命令
- Mysql分表和分区的区别
- python的for循环中不能修改循环变量i
- git rebase 详解