1_10.排序算法

1.冒泡排序

相邻两个数逐个做比较,每一轮比较完后的最大值一定产生在末尾
时间复杂度O(n^2), 空间复杂度O(n);

public class BubbleSort {

    public void bubbleSort(int[] array) {
        for (int endIndex = array.length - 1; endIndex > 0; endIndex--) {
            for (int startIndex = 0; startIndex < endIndex; startIndex++) {
                if (array[startIndex] > array[startIndex + 1]) {
                    swapNumbers(array, startIndex, startIndex + 1);
                }
            }
        }
        return;
    }

    private void swapNumbers(int[] array, int i, int j) {
        int temp = array[i];
        array[i] = array[j];
        array[j] = temp;
        return;
    }

    public static void main(String[] args) throws Exception {
        int[] array = new int[] { 3, 2, 4, 19, 23, -32 };
        BubbleSort bs = new BubbleSort();
        bs.bubbleSort(array);
        for (int i = 0; i < array.length; i++) {
            System.out.println(array[i]);
        }
    }

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 排序算法基础 排序算法,是一种能将一串数据按照特定的排序方式进行排列的一种算法,一个排序算法的好坏,主要从时间复杂...
    jackyshan阅读 4,368评论 3赞 11
  • 概述:排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    每天刷两次牙阅读 3,877评论 0赞 15
  • 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    蚁前阅读 5,347评论 0赞 52
  • 我是小青琴,今天是我参加“每天一篇文章”连续写作的第100天。 昨天晚上我发了一条朋友圈: 这是我在今天——第10...
    小青琴阅读 236评论 1赞 1
  • 脂肪是好东西,人体需要它。但脂肪里也有好人坏人。应尽量接触好脂肪,躲避坏脂肪。 富含健康脂肪的食物包括: 鱼类 三...
    一滴阳光阅读 383评论 0赞 0

友情链接更多精彩内容