[英]Randomly Generate Numbers for Bubble Sort Algorithm without Duplicates in Windows Forms C#?
[英]Bubble Sort Algorithm being used for a listbox in Windows Forms C#?
我目前有一個包含四個單選按鈕,一個列表框和一個顯示“排序”的按鈕的表單。 單擊每個單選按鈕都會在列表框內生成一定數量的隨機生成的整數。 我想要的是當我單擊“排序”按鈕時,我編寫的氣泡排序算法將針對列表框中的所有整數運行。 我為button1_Click
事件編寫了冒泡排序算法,並且將帶有radioButton1_CheckedChanged
事件的隨機生成的整數添加到列表框中。 我知道算法會在我單擊按鈕后運行,只是在將其連接到列表框中顯示的整數數組時遇到了麻煩,因此該算法對列表框中的整數進行了排序。 我知道我必須以某種方式將算法連接到為列表框生成的特定數組,但是我很難弄清其背后的邏輯。 以下是我的按鈕單擊事件和第一個單選按鈕選中事件的代碼摘錄。 現在,我正在測試我的第一個單選按鈕的代碼,該按鈕會在列表框中產生1-100之間的100個隨機整數。 如果有人對我可以如何使我朝正確的方向提出任何建議,我將不勝感激。 另外,如果您想知道的話,在我的列表框下面的代碼中,名稱為“ Numbers”。
int[] array;
int smallMaxSize = 101;
#region Sort Button Click
private void button1_Click(object sender, EventArgs e)//Bubblesort Code
{
int Out;
int In;
for ( Out = smallMaxSize - 1; Out > 1; Out--)
{
for (In = 0; In < Out; In++)
{
if (array[In] > array[In + 1])
{
swap(In, In + 1);
}
}
}
}
#endregion
#region Sort Numbers
private void swap(int one, int two)//Swaps larger number for smaller number
{
int temp = array[one];
array[one] = array[two];
array[two] = temp;
}
#endregion
#region Small Max: 100
private void radioButton1_CheckedChanged(object sender, EventArgs e)//Max 100 button
{
Numbers.Items.Clear();
array = new int[smallMaxSize];
Random numGenerator = new Random();
numGenerator.Next(smallMaxSize);
for (int i = 0; i < 101; i++)//Generates 100 random numbers from 1-100
{
array[i] = numGenerator.Next(smallMaxSize);
Numbers.Items.Add(array[i]);
}
}
#endregion
對數組進行排序后執行以下操作:
Numbers.Items.Clear();
for(int i = 0; i < 101; i++) {
Numbers.Items.Add(array[i]);
}
這應該夠了吧。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.