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 for 루프가 작동하는 것으로 추측하고 있지만이를 구현하는 방법을 잘 모르겠습니다. 어떤 도움을 주시면 감사하겠습니다!
그게 사실이지만, 배열 (SSales [] bubble = 새로운 SSales [10])로 구조체를 사용하고 있지만 var temp를 어떻게 할당합니까? – user7115764
예제에서와 같이 임시 변수를 할당 할 수 있습니다. 기본적으로 전체 구조체를 할당합니다. 타입에 대해 걱정할 필요가없는 'var'키워드를 사용함으로써, 컴파일러는 적절한 타입을 사용할 것입니다. – Dweeberly