源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

java数据结构与算法之冒泡排序详解

  • 时间:2020-09-13 02:17 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:java数据结构与算法之冒泡排序详解
本文实例讲述了java数据结构与算法之冒泡排序。分享给大家供大家参考,具体如下: 前面文章讲述的排序算法都是基于插入类的排序,这篇文章开始介绍[b]交换类的排序算法[/b],即:冒泡排序、快速排序(冒泡排序的改进)[b]交换类的算法:[/b]通过交换逆序元素进行排序的方法。 [b]冒泡排序:[/b]反复扫描待排序记录序列,在扫描的过程中,顺次比较相邻的两个元素的大小,若逆序就交换位置。 算法实现代码如下:
package exp_sort;
public class BubbleSort {
  public static void bubble(int array[]) {
    boolean change = true;
    for (int i = 0; i < array.length && change; i++) {
      change = false;
      for (int j = 0; j < array.length - i - 1; j++) {
        if (array[j] > array[j + 1]) {
          int temp = array[j];
          array[j] = array[j + 1];
          array[j + 1] = temp;
          change = true;
        }
      }
    }
    for (int i = 0; i < array.length; i++) {
      System.out.print(array[i] + " ");
    }
    System.out.println("n");
  }
  public static void main(String[] args) {
    // TODO Auto-generated method stub
    int array[] = { 38, 62, 35, 77, 55, 14, 35, 98 };
    bubble(array);
  }
}

[b]算法分析:[/b]最好的情况是,需要排序的初始状态是正序排列的,则一趟扫描即可完成,此时时间复杂度是O(n);最坏情况是,需要排序的初始状态是反序的,则需要n-1趟扫描,此时[b]时间复杂度是O(n^2)[/b][b]空间复杂度是O(1)[/b];该算法是一种[b]稳定的排序方法[/b]。 更多关于java算法相关内容感兴趣的读者可查看本站专题:《[url=http://www.1sucai.cn/Special/632.htm]Java数据结构与算法教程[/url]》、《[url=http://www.1sucai.cn/Special/830.htm]Java操作DOM节点技巧总结[/url]》、《[url=http://www.1sucai.cn/Special/687.htm]Java文件与目录操作技巧汇总[/url]》和《[url=http://www.1sucai.cn/Special/682.htm]Java缓存操作技巧汇总[/url]》 希望本文所述对大家java程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部