2013-04-01 50 views
0

我想用bubblesort對數組[10]進行排序,並將未排序/排序的項目放入列表框中。 但是數組並沒有排序,並且總是給我回數組的相同數組。Bubblesort listbox我錯過了什麼?

 private void button1_Click(object sender, EventArgs e) 
    { 
     lblB.Show(); 
     lblQ.Hide(); 

     lbS.Items.Clear(); 
     lbU.Items.Clear(); 
     Random r = new Random(); 
     int n = 10; 
     int[] arr = new int[n]; 
     //listbox fill random 
     for (int i = 0; i < arr.Length; i++) 
     { 
      arr[i] = r.Next(0, 20); 
      lbU.Items.Add(arr[i]); 
     } 
     int temp = 0; 
     for (int i = 0; i < arr.Length; i++) 
     { 
      for (int j = 0; j < arr.Length; j++) 
      { 
       if (arr[i] < arr.Length) 
       { 
        temp = arr[i]; 
        arr[i] = j; 
        arr[j] = temp; 
       }  
      }    
     } 
     for (int i = 0; i < arr.Length; i++) 
     { 
      lbS.Items.Add(arr[i]); 
     } 

    } 

我在這裏缺少的東西,

任何幫助將不勝感激。

+1

我看不到'lbS.Items.Add'來電您的代碼的任何地方...... –

+1

你的意思'ARR [我] Robb

+0

你是對的Jason,我已經更新了代碼。 – user2022298

回答

2

你在你的代碼多數民衆贊成排數組的錯誤:

for (int i = 0; i < arr.Length; i++) 
{ 
    for (int j = 0; j < arr.Length; j++) 
    { 
     if (arr[i] < arr.Length) 
     { 
      temp = arr[i]; 
      arr[i] = j;   // <<-- Mistake here - should be arr[i] = arr[j]; 
      arr[j] = temp; 
     }  
    }    
}