数据结构(四)---栈的顺序存储的实现---java版
2016-11-05 12:33
591 查看
--------------------------------------------------------------------------栈的接口定义--------------------------------------------
package com.cn.hbut.dao;
/**
* @author Administrator
* description:
* 栈的接口定义
*/
public interface Stacks {
public void clear();
public int length();
public boolean full();
public boolean empty();
//把元素e入栈
public boolean pushs(Object e);
//出栈
public Object pops();
//获取栈顶元素
public Object getTop();
}
--------------------------------------------------------------------------栈的具体实现----------------------------------------------------------------
package com.cn.hbut.daoImpl;
import com.cn.hbut.dao.Stacks;
/**
* @author Administrator
* description:
* 顺序栈的具体实现
*/
public class SqStack implements Stacks{
Object []elem;
int top;
int maxlen;
//默认的初始大小
public SqStack() {
top=-1;
maxlen=10;
elem=new Object[maxlen];
}
//自定义栈的大小
public SqStack(int maxlen) {
this.top = -1;
this.maxlen = maxlen;
elem=new Object[maxlen];
}
@Override
public void clear() {
top=-1;
}
@Override
public int length() {
return top+1;
}
@Override
public boolean full() {
return top>=maxlen-1;
}
@Override
public boolean empty() {
return top==-1;
}
//入栈元素e
@Override
public boolean pushs(Object e) {
if (full())
return false;
top++;
elem[top]=e;
return true;
}
//弹出一个元素
@Override
public Object pops() {
if(empty())
return null;
Object obj=elem[top];
top--;
return obj;
}
//获取栈顶元素
@Override
public Object getTop() {
if(empty())
return null;
Object obj=elem[top];
return obj;
}
//-----------------------测试顺序栈-------------------
public static void main(String[] args) {
SqStack stack = new SqStack(5);
stack.pushs(5);
stack.pushs(3);
System.out.println("当前出栈的元素为:"+stack.pops());
System.out.println("栈顶的元素为:"+stack.getTop());
System.out.println("栈是否为空"+stack.full());
}
}
package com.cn.hbut.dao;
/**
* @author Administrator
* description:
* 栈的接口定义
*/
public interface Stacks {
public void clear();
public int length();
public boolean full();
public boolean empty();
//把元素e入栈
public boolean pushs(Object e);
//出栈
public Object pops();
//获取栈顶元素
public Object getTop();
}
--------------------------------------------------------------------------栈的具体实现----------------------------------------------------------------
package com.cn.hbut.daoImpl;
import com.cn.hbut.dao.Stacks;
/**
* @author Administrator
* description:
* 顺序栈的具体实现
*/
public class SqStack implements Stacks{
Object []elem;
int top;
int maxlen;
//默认的初始大小
public SqStack() {
top=-1;
maxlen=10;
elem=new Object[maxlen];
}
//自定义栈的大小
public SqStack(int maxlen) {
this.top = -1;
this.maxlen = maxlen;
elem=new Object[maxlen];
}
@Override
public void clear() {
top=-1;
}
@Override
public int length() {
return top+1;
}
@Override
public boolean full() {
return top>=maxlen-1;
}
@Override
public boolean empty() {
return top==-1;
}
//入栈元素e
@Override
public boolean pushs(Object e) {
if (full())
return false;
top++;
elem[top]=e;
return true;
}
//弹出一个元素
@Override
public Object pops() {
if(empty())
return null;
Object obj=elem[top];
top--;
return obj;
}
//获取栈顶元素
@Override
public Object getTop() {
if(empty())
return null;
Object obj=elem[top];
return obj;
}
//-----------------------测试顺序栈-------------------
public static void main(String[] args) {
SqStack stack = new SqStack(5);
stack.pushs(5);
stack.pushs(3);
System.out.println("当前出栈的元素为:"+stack.pops());
System.out.println("栈顶的元素为:"+stack.getTop());
System.out.println("栈是否为空"+stack.full());
}
}
相关文章推荐
- 数据结构之---c语言实现栈的顺序存储
- 1-java数据结构顺序表的实现
- 数据结构复习——线性表的顺序存储实现
- JSON复杂数据处理之Json树形结构数据转Java对象并存储到数据库的实现
- JAVA数据结构之线性表的顺序存储
- 数据结构——栈—— 顺序栈(附java实现)
- 数据结构(五)---栈的链式存储的实现---java版
- Java栈之顺序栈存储结构实现
- 数据结构2----线性表顺序存储和链式存储的实现(霜之小刀)
- 【数据结构之线性表顺序存储】简单的数组的方式实现
- 数据结构之循环队列(顺序表存储)——C++模板类实现
- Json树形结构数据转Java对象并存储到数据库的实现-超简单的JSON复杂数据处理 .
- 数据结构—顺序表(自己实现Java的ArrayList)
- 数据结构(C实现)------- 顺序队列(循环队列之少用一个存储空间实现) .
- c数据结构的顺序存储的实现
- 数据结构——单向链表的顺序存储及实现
- Java单链表顺序和链式实现(数据结构五)
- 数据结构之顺序表Java实现
- 数据结构——图(1),图的存储结构Java实现
- 数据结构(六)---队列的链式存储的实现---java版