Chinaunix首页 | 论坛 | 博客
  • 博客访问: 565720
  • 博文数量: 136
  • 博客积分: 4010
  • 博客等级: 上校
  • 技术积分: 1343
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-19 23:18
文章分类

全部博文(136)

文章存档

2011年(28)

2009年(60)

2008年(48)

我的朋友

分类:

2008-11-22 18:48:06

 

/**
 * JAVA排序算法实现代码-冒泡(Bubble Sort)排序。
 *
 * @author 老紫竹 JAVA世纪网(java2000.net)
 *
 */

public class Test {
  public static void main(String[] args) {
    int[] a = { 10, 32, 1, 9, 5, 7, 12, 0, 4, 3 };

    System.out.print("排序前: ");

    for (int i = 0; i < a.length; i++)
      System.out.printf("%3s", a[i]);

    System.out.println();

    Test test = new Test();
    test.bubbleSort(a);

    System.out.print("排序后: ");

    for (int i = 0; i < a.length; i++)
      System.out.printf("%3s", a[i]);

    System.out.println();
  }

  public void bubbleSort(int[] a) {
    int len = a.length;

    System.out.println("数组大小是:" + len);

    boolean change = false;
    int temp;
    int count = 0;

    for (int i = len; i > 1; i--) {
      for (int j = 0; j < i - 1; j++) {
        if (a[j + 1] < a[j]) {
          temp = a[j + 1];
          a[j + 1] = a[j];
          a[j] = temp;
          change = true;
          count++;
        }

      }
      if (change) {
        System.out.print("第" + count + "趟交换: ");
        for (int k = 0; k < len; k++)
          System.out.print(a[k] + " ");

        System.out.println();
      }
    }
  }
}

 

运行结果
排序前: 10 32 1 9 5 7 12 0 4 3
数组大小是:10
第8趟交换: 10 1 9 5 7 12 0 4 3 32
第15趟交换: 1 9 5 7 10 0 4 3 12 32
第20趟交换: 1 5 7 9 0 4 3 10 12 32
第23趟交换: 1 5 7 0 4 3 9 10 12 32
第26趟交换: 1 5 0 4 3 7 9 10 12 32
第29趟交换: 1 0 4 3 5 7 9 10 12 32
第31趟交换: 0 1 3 4 5 7 9 10 12 32
第31趟交换: 0 1 3 4 5 7 9 10 12 32
第31趟交换: 0 1 3 4 5 7 9 10 12 32
排序后: 0 1 3 4 5 7 9 10 12 32

阅读(519) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~