2012-02-13 24 views
-8

我正在做的10个随机数生成的排序,并且必须在gui中一步步排序。但在插入排序时,我按下按钮进行排序给出了索引超出范围的问题我知道它给iBin ++的问题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 2012-02-13 20:52:59

+2

一些标点符号会有所帮助。这个问题基本上是不可读的。你在哪里遇到错误以及确切的异常消息是什么? – 2012-02-13 20:55:53

+0

相对于i_ins有多大?请记住,C#数组从0到长度为1 – Chriseyre2000 2012-02-13 21:04:05

回答

5

您的代码还有其他问题。然而,IndexOutOfBound由下面的行引起的:

c_value = generate[i_ins]; 

假设i_ins是您的阵列的尺寸,应该是其中“i_ins”定义

c_value = generate[i_ins - 1];