温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java冒泡排序法代码

发布时间:2020-05-29 15:44:54 来源:亿速云 阅读:286 作者:鸽子 栏目:编程语言
  • 排序是将一串数据按照其某个或者某些关键字的大小进行递增或递减排列的操作我,通常指的排序是升序,排序方式是原地排序
  • 下面介绍下冒泡排序
冒泡排序
  • 原理:在无序区间,通过相邻数的比较,将最大的数冒泡到无序区间的最后,持续这个过程,直到数组整体有序
  • 冒泡排序是一个稳定的排序
实现方式
public void bubbleSort(int[] array) {
        for (int i = 0; i < array.length - 1; i++) {
                //定义标志位来判断待排序区间是否有序
                boolean isSorted = true;
                for (int j = 0; j < array.length - 1 - i; j++) {
                        if (array[j] > array[j + 1]) {
                                swap(array, j, j + 1);
                                //只要发生交换说明待排序区间初始并不是有序
                                isSorted = false;
                        }
                }
                if(isSorted) {
                        break;
                }
        }
}
private void swap(int[] array, int i, int j) {
        int tmp = array[i];
        array[i] = array[j];
        array[j] = tmp;
}
性能分析
  • 时间复杂度:
    • 最好的情况:待排序有序时,时间复杂度为O(N)
    • 最坏的情况:待排序逆序时,时间复杂度为O(N^2)
    • 平均情况:时间复杂度 为O(N^2)
  • 空间复杂度:O(1)
  • 稳定性:稳定
  • 初始数据越接近有序,时间效率越高

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI