From cd721c514a55f87b5566fe10cb8c86af04d91ac5 Mon Sep 17 00:00:00 2001 From: Xevion Date: Tue, 24 Nov 2020 00:26:47 -0600 Subject: [PATCH] Stacks finished data/programs/questions --- other/Stacks/.gitignore | 1 + other/Stacks/Stacks.iml | 11 ++++ other/Stacks/questions/lab13a.doc | Bin 0 -> 37376 bytes other/Stacks/questions/lab13b.doc | Bin 0 -> 38400 bytes other/Stacks/questions/lab13c.doc | Bin 0 -> 35840 bytes other/Stacks/questions/lab13d.doc | Bin 0 -> 36352 bytes other/Stacks/src/IntStack.java | 35 ++++++++++++ other/Stacks/src/Lab13a.java | 37 +++++++++++++ other/Stacks/src/Lab13b.java | 28 ++++++++++ other/Stacks/src/Lab13c.java | 27 ++++++++++ other/Stacks/src/Lab13d.java | 24 +++++++++ other/Stacks/src/PostFix.java | 64 ++++++++++++++++++++++ other/Stacks/src/StackTester.java | 26 +++++++++ other/Stacks/src/SyntaxChecker.java | 79 ++++++++++++++++++++++++++++ 14 files changed, 332 insertions(+) create mode 100644 other/Stacks/.gitignore create mode 100644 other/Stacks/Stacks.iml create mode 100644 other/Stacks/questions/lab13a.doc create mode 100644 other/Stacks/questions/lab13b.doc create mode 100644 other/Stacks/questions/lab13c.doc create mode 100644 other/Stacks/questions/lab13d.doc create mode 100644 other/Stacks/src/IntStack.java create mode 100644 other/Stacks/src/Lab13a.java create mode 100644 other/Stacks/src/Lab13b.java create mode 100644 other/Stacks/src/Lab13c.java create mode 100644 other/Stacks/src/Lab13d.java create mode 100644 other/Stacks/src/PostFix.java create mode 100644 other/Stacks/src/StackTester.java create mode 100644 other/Stacks/src/SyntaxChecker.java diff --git a/other/Stacks/.gitignore b/other/Stacks/.gitignore new file mode 100644 index 0000000..b1001a6 --- /dev/null +++ b/other/Stacks/.gitignore @@ -0,0 +1 @@ +.idea/** diff --git a/other/Stacks/Stacks.iml b/other/Stacks/Stacks.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/other/Stacks/Stacks.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/other/Stacks/questions/lab13a.doc b/other/Stacks/questions/lab13a.doc new file mode 100644 index 0000000000000000000000000000000000000000..57dfd200e50fabf0c1ea1cf1d39a478494291998 GIT binary patch literal 37376 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 YavfhjR}P*1z2n)}b-#7&<0FCp2WdD1lK=n! literal 0 HcmV?d00001 diff --git a/other/Stacks/questions/lab13c.doc b/other/Stacks/questions/lab13c.doc new file mode 100644 index 0000000000000000000000000000000000000000..92068a4925837338e6bd3c4d82996c815b9e0825 GIT binary patch literal 35840 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 EKTtIG6aWAK literal 0 HcmV?d00001 diff --git a/other/Stacks/src/IntStack.java b/other/Stacks/src/IntStack.java new file mode 100644 index 0000000..6f0793d --- /dev/null +++ b/other/Stacks/src/IntStack.java @@ -0,0 +1,35 @@ +//© A+ Computer Science - www.apluscompsci.com +//Name - Ryan Walters +//Date - 11 December 2020 +//Class - Computer Science II PreAP +//Lab - Lab 13D (IntStack.java) + +import java.util.ArrayList; + +public class IntStack { + private ArrayList fakeStack; + + public IntStack() { + fakeStack = new ArrayList(); + } + + public void push(int item) { + fakeStack.add(item); + } + + public int pop() { + return fakeStack.remove(fakeStack.size() - 1); + } + + public boolean isEmpty() { + return fakeStack.size() == 0; + } + + public int peek() { + return fakeStack.get(fakeStack.size() - 1); + } + + public String toString() { + return fakeStack.toString(); + } +} \ No newline at end of file diff --git a/other/Stacks/src/Lab13a.java b/other/Stacks/src/Lab13a.java new file mode 100644 index 0000000..67f95c6 --- /dev/null +++ b/other/Stacks/src/Lab13a.java @@ -0,0 +1,37 @@ +//© A+ Computer Science - www.apluscompsci.com +//Name - Ryan Walters +//Date - 11 December 2020 +//Class - Computer Science II PreAP +//Lab - Lab 13A + +import java.util.Scanner; +import java.util.Stack; + +import static java.lang.System.out; + +public class Lab13a { + public static void main(String[] args) { + String sampleData = "a b c d e f g h i\n" + + "1 2 3 4 5 6 7 8 9 10\n" + + "# $ % ^ * ( ) ) _\n"; + + for (String line : sampleData.split("\n")) { + // Read in the scanner data, place into stack + Scanner scanner = new Scanner(line); + Stack stack = new Stack(); + while (scanner.hasNext()) + stack.add(scanner.next()); + + // Extract all items from the stack, build a new string + StringBuilder stackOut = new StringBuilder(stack.size() * 2); + while (!stack.isEmpty()) { + stackOut.append(stack.pop()); + stackOut.append(" "); + } + + out.println(stackOut.toString()); + } + + out.println(); + } +} diff --git a/other/Stacks/src/Lab13b.java b/other/Stacks/src/Lab13b.java new file mode 100644 index 0000000..c945928 --- /dev/null +++ b/other/Stacks/src/Lab13b.java @@ -0,0 +1,28 @@ +//© A+ Computer Science - www.apluscompsci.com +//Name - Ryan Walters +//Date - 11 December 2020 +//Class - Computer Science II PreAP +//Lab - Lab 13B + +import java.util.Locale; + +import static java.lang.System.out; + +public class Lab13b { + public static void main(String[] args) { + String sampleData = "(abc(*def) \n" + + "[{}]\n" + + "[\n" + + "[{<()>}]\n" + + "{{$x}}\n" + + "[one]{three}(four)\n" + + "car(cdr(a)(b)))\n" + + "car(cdr(a)(b))\n"; + + SyntaxChecker sc = new SyntaxChecker(); + for (String line : sampleData.split("\n")) { + sc.setExpression(line); + out.println(String.format(Locale.ENGLISH, "%s is %s", line, sc.checkExpression() ? "correct" : "incorrect")); + } + } +} \ No newline at end of file diff --git a/other/Stacks/src/Lab13c.java b/other/Stacks/src/Lab13c.java new file mode 100644 index 0000000..ef598ae --- /dev/null +++ b/other/Stacks/src/Lab13c.java @@ -0,0 +1,27 @@ +//© A+ Computer Science - www.apluscompsci.com +//Name - Ryan Walters +//Date - 11 December 2020 +//Class - Computer Science II PreAP +//Lab - Lab 13C + +import static java.lang.System.out; + +public class Lab13c +{ + public static void main ( String[] args ) + { + String sampleData = "2 7 + 1 2 + +\n" + + "1 2 3 4 + + +\n" + + "9 3 * 8 / 4 +\n" + + "3 3 + 7 * 9 2 / +\n" + + "9 3 / 2 * 7 9 * + 4 -\n" + + "5 5 + 2 * 4 / 9 +\n"; + + PostFix postFix = new PostFix(); + for (String line : sampleData.split("\n")) { + postFix.setExpression(line); + postFix.solve(); + out.println(postFix); + } + } +} \ No newline at end of file diff --git a/other/Stacks/src/Lab13d.java b/other/Stacks/src/Lab13d.java new file mode 100644 index 0000000..b0bedfe --- /dev/null +++ b/other/Stacks/src/Lab13d.java @@ -0,0 +1,24 @@ +//© A+ Computer Science - www.apluscompsci.com +//Name - Ryan Walters +//Date - 11 December 2020 +//Class - Computer Science II PreAP +//Lab - Lab 13D + +import static java.lang.System.out; + +public class Lab13d { + public static void main(String[] args) { + IntStack test = new IntStack(); + test.push(5); + test.push(7); + test.push(9); + System.out.println(test); + System.out.println(test.isEmpty()); + System.out.println(test.pop()); + System.out.println(test.peek()); + System.out.println(test.pop()); + System.out.println(test.pop()); + System.out.println(test.isEmpty()); + System.out.println(test); + } +} \ No newline at end of file diff --git a/other/Stacks/src/PostFix.java b/other/Stacks/src/PostFix.java new file mode 100644 index 0000000..79289cf --- /dev/null +++ b/other/Stacks/src/PostFix.java @@ -0,0 +1,64 @@ +//© A+ Computer Science - www.apluscompsci.com +//Name - Ryan Walters +//Date - 11 December 2020 +//Class - Computer Science II PreAP +//Lab - Lab 13C (PostFix.java) + +import java.util.Stack; +import java.util.Scanner; + +import static java.lang.System.*; + +public class PostFix { + private Stack stack; + private String expression; + + public PostFix() { + expression = ""; + stack = new Stack(); + } + + public PostFix(String exp) { + expression = exp; + } + + public void setExpression(String exp) { + expression = exp; + } + + public double calc(double one, double two, char op) { + switch (op) { + case '+': + return one + two; + case '-': + return one - two; + case '*': + return one * two; + case '/': + return one / two; + } + return 0.0; + } + + public void solve() { + stack = new Stack(); + for (char next : expression.replace(" ", "").toCharArray()) { + if (isOperator(next)) { + double second = stack.pop(); + double first = stack.pop(); + stack.push(calc(first, second, next)); + } else { + stack.push((double) Integer.parseInt(String.valueOf(next))); + } + } + } + + private boolean isOperator(char op) { + return op == '+' || op == '-' || op == '*' || op == '/'; + } + + @Override + public String toString() { + return expression + " = " + stack.peek(); + } +} \ No newline at end of file diff --git a/other/Stacks/src/StackTester.java b/other/Stacks/src/StackTester.java new file mode 100644 index 0000000..4a4221a --- /dev/null +++ b/other/Stacks/src/StackTester.java @@ -0,0 +1,26 @@ +//© A+ Computer Science - www.apluscompsci.com +//Name - +//Date - +//Class - +//Lab - + +import java.util.Stack; + +public class StackTester { + private Stack stack; + + public StackTester() { + setStack(""); + } + + public StackTester(String line) { + } + + public void setStack(String line) { + } + + public void popEmAll() { + } + + //add a toString +} \ No newline at end of file diff --git a/other/Stacks/src/SyntaxChecker.java b/other/Stacks/src/SyntaxChecker.java new file mode 100644 index 0000000..90f87da --- /dev/null +++ b/other/Stacks/src/SyntaxChecker.java @@ -0,0 +1,79 @@ +//© A+ Computer Science - www.apluscompsci.com +//Name - Ryan Walters +//Date - 11 December 2020 +//Class - Computer Science II PreAP +//Lab - Lab 13B (SyntaxChecker.java) + +import java.util.Stack; + +import static java.lang.System.*; + +public class SyntaxChecker { + private String exp; + private Stack symbols; + + private final char[] opening = {'[', '{', '(', '<'}; + private final char[] closing = {']', '}', ')', '>'}; + + public SyntaxChecker() { + exp = ""; + } + + public SyntaxChecker(String s) { + exp = s; + } + + public void setExpression(String s) { + exp = s; + } + + public boolean checkExpression() { + // create stack, stack matching symbols on + symbols = new Stack(); + for (int i = 0; i < exp.length(); i++) { + char possibleSymbol = exp.charAt(i); + switch (symbolType(possibleSymbol)) { + case 0: + break; + case 1: + symbols.add(possibleSymbol); + break; + case 2: + // Find the index to find the correlating open symbol + int index = -1; + for (int j = 0; j < closing.length; j++) { + if (closing[j] == possibleSymbol) + index = j; + } + + // If the closing symbol matches (and thus the array wasn't empty) + if (!symbols.isEmpty() && opening[index] == symbols.peek()) + symbols.pop(); + else + return false; + } + } + + return symbols.isEmpty(); + } + + /** + * @param character The character to identify + * @return A integer representing the character's symbol. 1 is open, 2 is closed, 0 is not a symbol. + */ + private int symbolType(char character) { + // Check if it's a opening character + for (char c : opening) { + if (character == c) + return 1; + } + + // Check if it's a closing character + for (char c : closing) { + if (character == c) + return 2; + } + + return 0; + } +} \ No newline at end of file