「java建栈」Java建栈,入栈出栈,输出,顺序链式

博主:adminadmin 2023-01-27 18:33:08 203

今天给各位分享java建栈的知识,其中也会对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建栈的信息别忘了在本站进行查找喔。