struct SSales
{
private int Y;
private double S;
public int Year
{
get { return Y; }
set { Y = value; }
}
public double Sale
{
get { return S; }
set { S = value; }
}
public SSales (int _year, double _sales)
{
Y = _year;
S = _sales;
}
private void Sortbutton_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
if (yearradio.Checked)
{
int temp = 0;
for (int i = 0; i < bubble.Length - 1; i++)
{
for (int j = 0; j < bubble.Length - 1; j++)
{
if (bubble[i + 1].Year < bubble[i].Year)
{
temp = bubble[i].Year;
bubble[i].Year = bubble[i + 1].Year;
bubble[i + 1].Year = temp;
}
}
}
}
if (salesradio.Checked)
{
double temp2 = 0;
for (int i = 0; i < bubble.Length - 1; i++)
{
for (int j = 0; j < bubble.Length - 1; j++)
{
if (bubble[i + 1].Sale > bubble[i].Sale)
{
temp2 = bubble[i].Sale;
bubble[i].Sale = bubble[i + 1].Sale;
bubble[i + 1].Sale = temp2;
}
}
}
}
for (int i = 0; i < bubble.Length; i++)
{
listBox1.Items.Add(bubble[i].ToString());
}
}
虽然我的气泡排序算法工作得很好,但它们只是每次单击排序按钮时都会逐渐排序。我需要使用1次点击完全排序列表框。使用结构成员时的气泡排序
而且,我的代码现在,岁月和销售重组完全相互独立的。当销售指数变化时,相应的年份指数保持在相同的位置,反之亦然。
我猜一个与INT j循环会的工作,但我不知道如何实现它。任何帮助,将不胜感激!
是有道理的,虽然事实是我使用的结构作为一个阵列(SSales []气泡=新SSales [10]),所以我如何分配变种温度? – user7115764
您可以像我在示例中那样分配临时变量。基本上,你正在分配整个结构。通过使用'var'关键字,您不必担心类型,编译器将使用适当的类型。 – Dweeberly