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