2016-10-23 17 views
-1

したがって、配列内の要素をチェックしてxにモジュロ(パラメータで定義されている)かどうかを調べるコードを作成しました。配列を使用してコードをスタック/キューを使用して変換する

私は同じコードをスタックまたはキューとうまくいけば別のループで書き直そうとしていますが、私はこれらのデータ型の初心者ですから、実装に苦労しています。

ご協力いただければ幸いです。

Algorithm Checker (Array A, x) 

For i <- 0 to n-1 do 
    For j <- i+1 to n-1 do 
     If A[i] modulo A[j] equals to x then 
      Return A[i] and A[j] 
     End If 
    End for 
    End for 
+0

「スタックでコードを書き直す」が広すぎます。コードサンプルの言語は何ですか? –

+0

@MonkeySupersonic Javaでは、私は適切だろうと思う – lesterpierson123

答えて

1

私は私はあなたが右の理解を願っています。最初のスタックs1にすべての要素をAとして入力し、それらをポップして繰り返します。このループでs1のコピーとしてs2を作成し、最初の要素をポップすることでその要素を反復処理します。両方の要素を比較することができます。 Pythonのような擬似コードでは、それは要素が反復される順序を維持することに注意してください

s1 = A.toStack # It's pseudocode :-) 

while !s1.isEmpty(): 
    elem1 = s1.pop() 
    s2 = s1.copy() 

    while !s2.isEmpty(): 
     elem2 = s2.pop() 
     if elem1 % elem2 == x: 
      return elem1 == elem2 

のようになり、あなたは逆の順序でs1を記入する必要があります。 Javaでの実装はあなた次第です。

0
public int[] AlgoChkr(int A[],int x) 
{  int B[] = new int[A.length]; 
    int j = 0; 
    for(int i = 0; i<A.length ;i++ ) 
      { if(A[i]%x ==0) 
        { 
        B[j] = A[i]; 
        j++; 
        } 
      } 
    return B; 
} 
関連する問題