2014-09-13 2 views
0

Я применяю сортировку пузыря по массиву int и работает, но на консоли (вывод) я хочу, чтобы полная свопинг, например int array: [3 2 5 4 1] и требуемый вывод:Bubble sort swapping (C#)

2 3 5 4 1 
2 3 4 5 1 
2 3 4 1 5 
2 3 1 4 5 

и в последнем отсортированного массива Int

1 2 3 4 5. 

Вот код.

 int[] b = { 3, 2, 5, 4, 1 }; 
     int c; 
     for (int p = 0; p <= b.Length - 2; p++) 
     { 
      for (int i = 0; i <= b.Length - 2; i++) 
      { 
       if (b[i] > b[i + 1]) 
       { 
        c = b[i + 1]; 
        b[i + 1] = b[i]; 
        b[i] = c; 
       } 
      } 
     } 
     foreach (int aa in b) 
      Console.Write(aa + " "); 
     Console.ReadLine(); 
+0

, кстати, ваш алгоритм не является настолько эффективным, ваш внутренний цикл должен выглядеть следующим образом: 'для (INT I = 0; я <= b.Length-п-1, я ++)' это будет немного Быстрее. –

ответ

4

Нравится?

int[] b = { 3, 2, 5, 4, 1 }; 
    int c; 
    for (int p = 0; p <= b.Length - 2; p++) 
    { 
     for (int i = 0; i <= b.Length - 2; i++) 
     { 
      if (b[i] > b[i + 1]) 
      { 
       c = b[i + 1]; 
       b[i + 1] = b[i]; 
       b[i] = c; 

       foreach (int aa in b) 
        Console.Write(aa + " "); 
       Console.WriteLine(); 
      } 
     } 
    } 

    Console.ReadLine();