我正在完成家庭作业,但我觉得自己完全迷失了。这个家庭作业的重点是使用节点循环堆栈和队列,但我不认为我是正确的。没有在我当前的代码中我有任何东西去节点类,我确定我应该有一些东西去那里。我刚刚开始研究main,测试函数和内容。
汽车课
public class Car {
String plate;
char code;
public Car(String plate, char code){
}
public String getPlate(){
return plate;
}
public void setPlate(String inPlate){
plate = inPlate;
}
}
节点类
public class Node {
Node next;
Car name;
public Node(Node x, Car y){
next = x;
name = y;
}
}
Lstack课程
public class Lstack {
int size;
int numUsed = 0;
Car[] stack;
public Lstack(){
stack = new Car[size];
}
public void push(Car x){
stack[numUsed] = x;
numUsed++;
}
public Car pop(){
Car temp;
numUsed--;
temp = stack[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(stack[i].plate +" | ");
}
System.out.println("--------------------------------------------");
}
}
Lqueue class
public class Lqueue {
int size;
int numUsed = 0;
Car[] queue;
public Lqueue(){
queue = new Car[size];
}
public void insert(Car x){
int index = numUsed;
for(int i = numUsed; i >= 0; i--){
queue[index + 1] = queue[index];
index--;
}
queue[0] = x;
}
public Car remove(){
Car temp;
temp = queue[numUsed];
queue[numUsed] = null;
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("Front | ");
for(int i = numUsed; i >= 0; i--){
System.out.print(queue[i].plate +" | ");
}
System.out.println("--------------------------------------------");
}
}
答案 0 :(得分:1)
google:“链表实施”
您的数据结构中应该有节点。
您不应该使用数组。
答案 1 :(得分:1)
首先在Car[]
课程中将Node[].
更改为Lqueue
。
然后将Node[]
更改为Node
,而不是使用数组我们使用node.next变量来遍历列表。
Here is a wikipedia page。用不同的汽车代替示例中的12,99和37 ......