Stackleri Arrayda Tutma Sorunu!!
-
veri yapıları dersi için böyle bir ödev verildi. Yazdığım kod devamlı hata veriyor ve ne yapmam gerektiği hakkında bir fikrim yok. Yardımcı olabilirseniz çok sevinirim.
Node'lar için yazdığım class
public class Node <T>{ Object data; Node next; public Node(Object data) { this.data = data; } }
Stackler için yazdığım class
package stacks; public class Stack <T>{ Node top; int length; Stack[] myStackArray; Stack(int stackCount){ top=null; myStackArray=new Stack[stackCount]; length=0; } boolean isEmpty(int stackNumber){ return myStackArray[stackNumber].length==0; } void push(int stackNumber,Object value){ Node temp=new Node(value); temp.next=myStackArray[stackNumber].top; myStackArray[stackNumber].top=temp; myStackArray[stackNumber].length++; } Object pop(int stackNumber){ if(isEmpty(stackNumber)){ System.out.println("Stack is empty"); return false; } else{ Object result=myStackArray[stackNumber].top.data; top=top.next; myStackArray[stackNumber].length--; return result; } } }
-
package stacks; public class Stack<T> { private static class Node<T> { private T data; private Node<T> next; public Node(T data) { this.data = data; } } private Node<T> top; private int length; private Stack<T>[] myStackArray; public Stack(int stackCount) { top = null; myStackArray = new Stack[stackCount]; length = 0; } public boolean isEmpty() { return length == 0; } public void push(int stackNumber, T value) { Node<T> temp = new Node<>(value); temp.next = myStackArray[stackNumber].top; myStackArray[stackNumber].top = temp; myStackArray[stackNumber].length++; } public T pop(int stackNumber) { if (isEmpty()) { System.out.println("Stack is empty"); return null; } else { T result = myStackArray[stackNumber].top.data; top = top.next; myStackArray[stackNumber].length--; return result; } } }
-
JpnTr bunu yazdı
package stacks; public class Stack { private static class Node { private T data; private Node next; public Node(T data) { this.data = data; } } private Node top; private int length; private Stack[] myStackArray; public Stack(int stackCount) { top = null; myStackArray = new Stack[stackCount]; length = 0; } public boolean isEmpty() { return length == 0; } public void push(int stackNumber, T value) { Node temp = new Node<>(value); temp.next = myStackArray[stackNumber].top; myStackArray[stackNumber].top = temp; myStackArray[stackNumber].length++; } public T pop(int stackNumber) { if (isEmpty()) { System.out.println("Stack is empty"); return null; } else { T result = myStackArray[stackNumber].top.data; top = top.next; myStackArray[stackNumber].length--; return result; } } }
hocam push ve pop methodlarında hata veriyor yine.
-
package stacks; public class Stack<T> { private static class Node<T> { private T data; private Node<T> next; public Node(T data) { this.data = data; } } private Node<T> top; public Stack() { top = null; } public boolean isEmpty() { return top == null; } public void push(T value) { Node<T> temp = new Node<>(value); temp.next = top; top = temp; } public T pop() { if (isEmpty()) { System.out.println("Stack is empty"); return null; } else { T result = top.data; top = top.next; return result; } }
-
JpnTr bunu yazdı
package stacks; public class Stack { private static class Node { private T data; private Node next; public Node(T data) { this.data = data; } } private Node top; public Stack() { top = null; } public boolean isEmpty() { return top == null; } public void push(T value) { Node temp = new Node<>(value); temp.next = top; top = temp; } public T pop() { if (isEmpty()) { System.out.println("Stack is empty"); return null; } else { T result = top.data; top = top.next; return result; } }
Tamamdir hocam tesekkur ederim.