交换排序—冒泡排序

2018-09-19

思路:

在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,
让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换

public static void main(String[] args) {
        int arr[] = {3, 5, 7, 2, 4, 9, 1, 6, 10, 8};
        System.out.println("排序前:");
        System.out.println(Arrays.toString(arr));
        bubbleSort(arr);
        System.out.println("排序后:");
        System.out.println(Arrays.toString(arr));
    }

    private static void bubbleSort(int[] arr) {
        for (int i=0; i<arr.length-1; i++){
            for (int j=0; j<arr.length-i-1; j++){
                if (arr[j] > arr[j+1]){
                    int temp = arr[j];
                    arr[j]= arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 基本思想: 将n个记录看作按纵向排列,在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数...
    NEXTFIND阅读 1,015评论 0 0
  • 时间复杂度:高效的排序算法,比较次数和移动次数都应该尽可能的少。 空间复杂度:算法执行期所需要辅助空间和待排序的数...
    码码Master阅读 557评论 0 0
  • 关键词:趟,相邻两两之间 趟: 每将数组中的一个数归位,称为“一趟”
    ADark0915阅读 387评论 0 0
  • 基本思想:两两比较相邻位置的关键码,如果反序则交换,直到没有反序的记录位置。 时间复杂度为O(n^2)
    Caesar少校阅读 141评论 0 0
  • 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    蚁前阅读 5,223评论 0 52