2016-09-21 2 views
0

Я выполняю назначение для класса, и мне требуется Разработать алгоритм с использованием языка программирования Java, который реализует базовую структуру данных стека.Stacks and data Structures

Вот сценарий: предположим, что вы разрабатываете систему для производственной сборочной линии, которая строит автомобили. На производственной линии есть три станции, где инспектор будет визуально осмотреть автомобиль. Программа должна отслеживать эти проверки по мере их возникновения. Вы решили разработать свою программу, используя структуру данных стека. Когда ваш автомобиль начнет линию, вы нажмете число 0, что указывает на то, что проверка еще не произошла, в стек три последующих раза. На каждой станции в строке вы вытащите один из предметов из стека. Каждый раз, когда ваш алгоритм выдает элемент из стека, вы должны распечатать его на консоль, используя функцию system.out.println. Я отправлю свой код ниже. Является ли мой код этим сенарио?

Мой код:

import jeliot.io.*; 

public class MyStack { 
    private int maxSize; 
    private long[] stackArray; 
    private int top; 
    public MyStack(int s) { 
     maxSize = s; 
     stackArray = new long[maxSize]; 
     top = -1; 
    } 
    public void push(long j) { 
     stackArray[++top] = j; 
    } 
    public long pop() { 
     return stackArray[top--]; 
    } 
    public long peek() { 
     return stackArray[top]; 
    } 
    public boolean isEmpty() { 
     return (top == -1); 
    } 
    public boolean isFull() { 
     return (top == maxSize - 1); 
    } 
    public static void main(String[] args) { 
     MyStack theStack = new MyStack(5); 
     theStack.push(0); 
     theStack.push(1); 
     theStack.push(2); 
     theStack.push(3); 
     theStack.push(4); 
     while (!theStack.isEmpty()) { 
     long value = theStack.pop(); 
     System.out.print(value); 
     System.out.print(" "); 
     } 
     System.out.println(""); 
    } 
} 

Отнесение также пришел со связанным списком примеров кода. Вы можете сравнить, как работает мой код для примера. Вот код:

import Prog1Tools.IOTools; 

class Node { 
    Node ptr; 
    int value; 
    public Node(int value) { 
    this.value = value; 
    } 
} 

public class CreateLinkedList { 
    public static void main(String[] args) { 
    Node link, plink; 
    // root will be the beginning of the linked list 
    Node root = new Node(5); 
    // each additional node will link to preceeding one 
    link = new Node(1); 
    link.ptr = root; 
    plink = link; 

    link = new Node(8); 
    link.ptr = plink; 
    plink = link; 

    link = new Node(6); 
    link.ptr = plink; 
    plink = link; 

    link = new Node(3); 
    link.ptr = plink; 
    plink = link; 

    // Move through the list and print out each value 
    printList(link); 
} 

public static void printList(Node node) { 
    if (node != null) { 
    System.out.println(" Value: " + node.value); 
    printList(node.ptr); 
    } 
    } 
} 
+0

Представляет ли ваш код этого сценарий? – mttdbrd

+0

Да, как и в случае с этим сценарием? – Liwizy

+0

Я брошу его прямо на вас, работает ли ваш код для этого сценария? – mttdbrd

ответ

0

Да, структура данных стека хорошо реализована.