「java建栈」Java建栈,入栈出栈,输出,顺序链式
今天给各位分享java建栈的知识,其中也会对Java建栈,入栈出栈,输出,顺序链式进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、求java大神,创建栈的类。。。
- 2、java如何自定义栈?
- 3、java 创建栈问题
- 4、求助!如何用Java编写一个栈
- 5、用java实现数据结构“栈
- 6、java的自己创建的栈可以作为缓存区吗
求java大神,创建栈的类。。。
public class stack{
private int length = 10;
private ListDouble list = new ArrayListDouble();//list 存放
private int top;//指示栈顶位置的变量
//初始化
public stack(){
top=0;}
public void push(double x) {//入栈
if (top==length){
System.out.println("Stack is full !");
return ;
}
list.add(x);
top ++;
}
public double pop(){
top--;
if(top0){
System.out.println("Stack is underflow ");
thrown new NoMoreElementEXception("Stack is underflow");
}
return list.remove(1);
}
参考C语言。
java如何自定义栈?
public class Stack{
int[] data;
int maxSize;
int top;
public Stack(int maxSize) {
this.maxSize=maxSize;
data=new int[maxSize];
top=-1;
}
//入栈
public boolean push(int data) {
//入栈先判断栈中是否已满
if(top+1==maxSize) {
System.out.println("栈已满");
return false;
}
this.data[++top]=data;
return true;
}
//出栈
public int pop() throws Exception{
//出栈先判断栈是否已空
if(top==-1) {
throw new Exception("栈已空");
}
return this.data[top--];
}
public static void main(String[] args) throws Exception {
Stack stack=new Stack(1000);
stack.push(1);
stack.push(2);
stack.push(3);
stack.push(4);
stack.push(5);
while(stack.top=0) {
System.out.println(stack.pop());
}
}
}
java 创建栈问题
1.如果我要调用栈的操作是不是只要在开头
import java.util.*;
就可以了。
具体来说是导入import java.util.Stack;就可以了。
2.怎样用stack创建一个存放整型栈和存放字符的栈?
StackInteger s = new StackInteger(); 只能装整形的栈
StackCharacter s = new StackCharacter(); 只能装字符型的栈
3.栈用完后怎么销毁?
关于销毁的问题,自己不用手动销毁,java有自动回收机制会自动回收没用的栈
求助!如何用Java编写一个栈
可以利用LinkedList 来写一个栈. 例如
import java.util.* ;
public class testStack{
private LinkedList list = new LinkedList() ;
public void push(Object o ){
try{
list.addFirst( o ) ;
}catch(Exception e){
}
}
public Object pop(){
return list.removeFirst() ;
}
public Object top() {
return list.getLast() ;
}
public static void main(String[] args){
//code here
testStack s = new testStack() ;
for( int i = 0 ; i10 ;i++){
s.push( i );
}
System.out.println ( s.pop());
System.out.println(s.top());
}
}
你可以好好看看Thinking in JAVA中对集合的讲解。。
用java实现数据结构“栈
Java栈的实现
public
class
MyStack
{
//定义一个堆栈类
int[]
array;
//用int数组来保存数据,根据需要可以换类型
int
s_size;
//定义堆栈的宽度
public
MyStack(int
i){
//定义一个带参数构造器
array=new
int[i];
//动态定义数组的长度
s_size=0;
//堆栈的默认宽度为0
}
public
MyStack(){
//默认构造器
this(50);
//默认构造器可容纳50个元素
}
public
void
push(int
i){
//压栈
array[this.s_size]=i;
this.s_size++;
}
public
int
pop(){
//从堆栈中取元素,从栈顶开始取
if(this.s_size!=0){
int
t=array[s_size-1];
//用中间变量保存栈顶的元素
array[s_size-1]=0;
//取完元素该位置设为0
s_size--;
//栈的大小减1
return
t;
//返回栈顶元素
}else{
System.out.println("This
stack
is
empty");
//当栈为空时显示提示信息,返回0
return
0;
}
}
public
boolean
isEmpty(){
//判断栈是否为空
return
this.s_size==0;
}
public
int
top(){
//从栈顶取值,功能和
pop()
方法一样
if(!this.isEmpty()){
int
t=array[this.s_size-1];
array[this.s_size-1]=0;
this.s_size--;
return
t;
}else{
System.out.println("This
stack
is
empty!");
return
0;
}
}
public
void
printAll(){
//打印出堆栈中的所有元素的值,不是取出,元素依然在堆栈里
if(!this.isEmpty()){
for(int
i=this.s_size
-
1;i=0;i--){
System.out.println(array[i]);
}
}
}
//下面是测试代码
public
static
void
main(String[]
args){
MyStack
stack=new
MyStack();
stack.push(4);
stack.push(5);
stack.push(6);
stack.push(7);
//System.out.println(stack.isEmpty());
stack.printAll();
System.out.println("===========");
System.out.println(stack.top());
System.out.println(stack.top());
System.out.println(stack.top());
System.out.println(stack.top());
System.out.println(stack.top());
}
}
java的自己创建的栈可以作为缓存区吗
可以。
栈的创建和使用JAVAStack类:栈是Vector的一个子类,它实现了一个标准的后进先出的栈,栈本身最重要的就是push和pop堆栈只定义了默认构造函数。
栈是Vector的一个子类,它实现了一个标准的后进先出的栈。堆栈只定义了默认构造函数,用来创建一个空栈。堆栈除了包括由Vector定义的所有方法,也定义了自己的一些方法。
java建栈的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于Java建栈,入栈出栈,输出,顺序链式、java建栈的信息别忘了在本站进行查找喔。