Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package homework1;
- /**
- *
- * @author User
- */
- public class Inorder {
- Node current;
- Node root;
- public Inorder() {
- }
- public void printInOrderDFT() {
- System.out.print("InOrder DFT node sequence [ ");
- printInOrderDFT(root);
- System.out.println("]");
- }
- public static void printInOrderDFT(Node node) {
- if (node == null) {
- return;
- } else {
- printInOrderDFT(node.left);
- System.out.print(node.key + " " );
- System.out.println(calculate(node));
- printInOrderDFT(node.right);
- }
- }
- public void Key(String k) {
- for (int i = k.length() - 1; i >= 0; i--) {
- Node(new Node(k.charAt(i)));
- }
- }
- public static boolean Operator(String k) {
- switch (k) {
- case "+":
- return true;
- case "-":
- return true;
- case "*":
- return true;
- case "/":
- return true;
- default:
- return false;
- }
- }
- public void Node(Node a) {
- if (root == null) {
- root = a;
- current = root;
- } else if (current.key == '+' || current.key == '-' || current.key == '*' || current.key == '/') {
- if (current.right == null) {
- current.right = a;//.right;
- a.parent = current;
- if (current.right.key == '+' || current.right.key == '-' || current.right.key == '*' || current.right.key == '/') {
- current = current.right;
- }
- } else if (current.left == null) {
- current.left = a;//.left;
- a.parent = current;
- if (current.left.key == '+' || current.left.key == '-' || current.left.key == '*' || current.left.key == '/') {
- current = current.left;
- }
- } else {
- current = current.parent;
- Node(a);
- }
- }
- }
- public static int calculate(Node a) {
- if (Operator(a.toString())) {
- switch (a.key) {
- case '+':
- return calculate(a.left) + calculate(a.right);
- case '-':
- return calculate(a.left) - calculate(a.right);
- case '*':
- return calculate(a.left) * calculate(a.right);
- case '/':
- return calculate(a.left) / calculate(a.right);
- default:
- System.out.println("ERROR");
- return 0;
- }
- } else {
- return Integer.parseInt(a.toString());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement