c#中插入排序的索引超出范围
本文关键字:范围 索引 插入排序 | 更新日期: 2023-09-27 18:24:41
我正在对生成的10个随机数进行排序,必须在gui中一步一步地进行排序。但是在插入排序中,当我按下按钮进行排序时,它会出现索引超出范围的问题。我知道它的给定问题是i_ins++的bcoz,但我也无法删除它。
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);
}
您的代码中还有其他问题。但是,IndexOutOfBound是由以下行引起的:
c_value = generate[i_ins];
假设i_ins
是数组的大小,它应该是
c_value = generate[i_ins - 1];