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