2012-02-13 19 views
-8

私は10個の乱数を生成してソートしていますが、GUIで段階的にソートする必要があります。しかし、挿入ソートでは、並べ替えのためにボタンを押すと、範囲外のインデックスの問題が発生します。i_ins ++のbcoz問題を知っていますが、私もそれを削除することはできませんbcoz guiでの並べ替えは、解決策またはこれに修正を加えると、それは段階的に実行され、エラーも発生しません。インデックスが範囲内にありません。C#

public void InsertionSort() 
    { 

     int j; 
     int c_value; 

     c_value = generate[i_ins]; 
     j = i_ins - 1; 

     while (j >= 0 && generate[j] > c_value) 
     { 
      generate[j + 1] = generate[j]; 
      show1(generate); 
      j--; 
     } 

     generate[j + 1] = c_value; 
     i_ins++; 

     show1(generate); 
    } 
+0

すべきですか? – AlwaysAProgrammer

+2

句読点が役立つ場合があります。問題は本質的に判読不能です。どこでエラーに遭遇し、正確な例外メッセージは何ですか? –

+0

i_insとの相対的な生成量はどれくらいですか? C#配列は0からlength-1まで数えます – Chriseyre2000

答えて

5

コードには他にも問題があります。しかし、IndexOutOfBoundは、以下の行によって引き起こされる:i_insはあなたの配列のサイズであると仮定すると

c_value = generate[i_ins]; 

、それはi_ins 'が定義されて

c_value = generate[i_ins - 1]; 
関連する問題