2016-09-21 9 views
0

私はクラスの割り当てをしています。基本的なスタックデータ構造を実装するJavaプログラミング言語を使用してアルゴリズムを開発する必要があります。スタックとデータ構造

ここにシナリオがあります。自動車を製造する製造組立ライン用のシステムを開発しているとします。製造ラインには3つのステーションがあり、検査員が視覚的に検査します。プログラムは、これらの検査が発生したときにそれを追跡しなければなりません。スタックデータ構造を使用してプログラムを開発することに決めました。あなたの車両がラインを始めると、検査がまだ行われていないことを示す番号0を3回のスタックにスタックに押し込むでしょう。ラインの各ステーションで、アイテムの1つをスタックからポップします。アルゴリズムがスタックから項目をポップするたびに、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

はい、スタックデータ構造は正しく実装されています。