我想在gui中用c#逐步排序

我想在gui中用c#逐步排序,c#,user-interface,C#,User Interface,我为c#编写了这段代码 它只工作了一次,然后就停止工作了。假设代码是正确的,您必须这样做。因此,您的代码将运行并显示更改,但是,无论如何,这种情况发生得如此之快,您都无法在GUI上看到它。您需要使变量i成为类成员。然后在你的按钮点击中,你增加i 因此,总结:设置i为每个按钮单击的数字。然后,您的方法将只执行一次迭代并显示用户界面。要继续,请再次单击按钮并增加i(确保检查边界) inti; void SelectionSort() { clearFontColor(); int j,温度; min

我为c#编写了这段代码


它只工作了一次,然后就停止工作了。

假设代码是正确的,您必须这样做。因此,您的代码将运行并显示更改,但是,无论如何,这种情况发生得如此之快,您都无法在GUI上看到它。您需要使变量i成为类成员。然后在你的按钮点击中,你增加i

因此,总结:设置i为每个按钮单击的数字。然后,您的方法将只执行一次迭代并显示用户界面。要继续,请再次单击按钮并增加i(确保检查边界)

inti;
void SelectionSort()
{
clearFontColor();
int j,温度;
min=i;
对于(j=i+1;j<10;j++)
{
如果(输入[min]>输入[j])
{
min=j;
}
}
如果(最小!=i)
{
温度=输入[i];
输入[i]=输入[min];
输入[min]=温度;
}
显示(输入);
} 

假设您的代码是正确的,您必须这样做。因此,您的代码将运行并显示更改,但是,无论如何,这种情况发生得如此之快,您都无法在GUI上看到它。您需要使变量i成为类成员。然后在你的按钮点击中,你增加i

因此,总结:设置i为每个按钮单击的数字。然后,您的方法将只执行一次迭代并显示用户界面。要继续,请再次单击按钮并增加i(确保检查边界)

inti;
void SelectionSort()
{
clearFontColor();
int j,温度;
min=i;
对于(j=i+1;j<10;j++)
{
如果(输入[min]>输入[j])
{
min=j;
}
}
如果(最小!=i)
{
温度=输入[i];
输入[i]=输入[min];
输入[min]=温度;
}
显示(输入);
} 

这不是C。您不必在方法开始时声明所有变量。如果我正确读取了所有代码,则您传递的数组是通过引用传递的。因此,当您第一次对数组进行排序时。然后第二次对数组进行排序。我错过什么了吗?这就是你要问的问题吗?是的,所以我想问我如何一步一步地做。问题是如何一次显示一个排序步骤?然后移动
show(输入)到循环中,因为这不是C。您不必在方法开始时声明所有变量。如果我正确读取了所有代码,则传递的数组是通过引用传递的。因此,当您第一次对数组进行排序时。然后第二次对数组进行排序。我错过什么了吗?这就是你要问的问题吗?是的,所以我想问我如何一步一步地做。问题是如何一次显示一个排序步骤?然后移动
show(输入)编码到for循环中
void SelectionSort()
    {
        clearFontColor();
        int i, j, min, temp;
        for (i = 0; i < 9; i++)
        {
            min = i;
            for (j = i + 1; j < 10; j++)
            {
                if (input[min] > input[j])
                {
                    min = j;
                }
            }
            if (min != i)
            {
                temp = input[i];
                input[i] = input[min];
                input[min] = temp;
            }

        }
         show(input);
    }
  private void button2_Click(object sender, EventArgs e)
    {
        // lbl_step.Visible = true;
        if (radioButton2.Checked)
        {
            InsertionSort();
        }
        else if (radioButton1.Checked)
        {
            bubble();
        }
        else if (radioButton3.Checked)
        {
            SelectionSort();
        }

    }  
int i;
void SelectionSort()
{
    clearFontColor();
    int j, temp;
    min = i;
    for (j = i + 1; j < 10; j++)
    {
        if (input[min] > input[j])
        {
            min = j;
        }
    }
    if (min != i)
    {
        temp = input[i];
        input[i] = input[min];
        input[min] = temp;
    }
    show(input);
}