堆栈的节点链表

时间:2013-04-03 19:42:48

标签: java stack

刚刚完成春假,很难记住这些东西。

现在我正在尝试创建一个Lstack类,它将创建一个实现为节点链接列表的堆栈ADT。

这是Lstack类

public class Lstack {
    int numUsed = 0;
    Lstack list = new Lstack();
    public Lstack(){
    }
    public void push(Car x){

    }
}

如何将Car x(一个物体)推入堆栈?

3 个答案:

答案 0 :(得分:5)

堆栈是LIFO结构 因此,如果您使用linked list支持实施,那么您应确保push进入list pop的{​​{1>} {{1}} 。
由于这是一项作业,我不会提供更多信息。这应该足够了

答案 1 :(得分:0)

堆栈是后进/先出(LIFO)结构。所以我会这样:

Car类必须具有同一类的next成员:

class Car {
    String brand;
    Car next;
    public Car(String brand, Car car) {
        this.brand = brand;
        next = car;
    }
    // And the class code goes on
}

关于链表:

 class Llist {
     Car top;
     public Llist() {
         top = null;
     }
     public void push(String carBrand) {
         top = new Car(carBrand, top);
     }
 }

只是一个例子。

答案 2 :(得分:0)

我做对了吗?

public class Lstack {
    int size;
    int numUsed = 0;
    Car[] list;
    public Lstack(){
        list = new Car[size];
    }
    public void push(Car x){
        list[numUsed] = x;
        numUsed++;
    }
    public Car pop(){
        Car temp;
        numUsed--;
        temp = list[numUsed];
        return temp;
    }
    public boolean isEmpty(){
        if(numUsed==0){
            return true;
        }
        else
            return false;
    }
    public int size(){
        return numUsed;
    }
    public void display(){
        System.out.println("--------------------------------------------");
        System.out.print("TOP | ");
        for(int i = 0; i < numUsed; i++){
            System.out.print(list[i].plate +" | ");
        }
    }

}