Печать массива через каждый проход (Bubble Sort) - PullRequest
1 голос
/ 03 апреля 2012

Я ищу способ печати массива как есть после каждого прохода. это код сортировки, который у меня есть. это базовая реализация алгоритма пузырьковой сортировки, который печатает исходное состояние массива и отсортированное состояние

public class bubbleSortTest
{
  public static void main(String a[])
  {
      int i;
      int array[] = {90, 8, 7, 56, 123, 235, 9, 1, 653};

      System.out.println("Values Before the sort:\n");

      for(i = 0; i < array.length; i++)
          System.out.print( array[i]+"  ");
          System.out.println();
          bubble_srt(array, array.length);
          System.out.print("Values after the sort:\n");
      for(i = 0; i <array.length; i++)
      System.out.print(array[i]+"  ");
      System.out.println();
      System.out.println("PAUSE");
  }

  public static void bubble_srt( int a[], int n )
  {
      int i, j,t=0;
          for(i = 0; i < n; i++)
              {
                for(j = 1; j < (n-i); j++)
                  {
                      if(a[j-1] > a[j])
                          {
                              t = a[j-1];
                              a[j-1]=a[j];
                              a[j]=t;
                          }

                  }
              }
  }
}

1 Ответ

0 голосов
/ 03 апреля 2012

Добавьте новый цикл for во внешний цикл сортировки для печати значений после каждого прохода.

for(i = 0; i < n; i++)
      {
      System.out.print(" After "+(i+1)+"st pass: ");
         for(k=0;k<n;k++)
            System.out.print(" "+a[k]);
            ...............
            ...............
...