java实现冒泡排序算法

1、原理

  • 比较两个相邻的元素,将值大的元素交换到右端。

2、思想

  • 依此比较相邻两个数,小的数放在前面,大的数放在后面
  • 第一趟比较第1,2个数,小前大后;比较第2,3个数,小前大后,直至比较到把其中最大数放到最右端
  • 第一趟之后,最后一个一定最大,比较第二趟,第二趟第一个不参与,把第二大的数放到倒数第二个位置
  • 第二趟之后,倒数第二个数第二大,第三趟最后两个数不参与
  • 依此类推,每一趟比较次数-1

3、示例

  1. 数组如下:
int[] arr = {6,3,8,2,9,1}
  1. 具体执行如下:


    冒泡排序趟数和排序次数执行图
  2. 备注
  • N个数字排序,进行 N-1趟排序
  • 每趟排序次数为 N-i-1次
  • 双重循环 外层控制趟数,内层控制每一趟排序次数

4、代码实现

package com.tmf;

public class Test16 {
    public static void main(String[] args) {
        int[] arr = {6,3,8,2,9,1};
        sort(arr);
        for (int i : arr) {
            System.out.print(i+" ");
        }
    }
    public static void sort(int[] arr) {
        for(int i=0;i<arr.length-1;i++)
            for(int j=0;j<arr.length-1-i;j++) {
                if(arr[j]>arr[j+1]) {
                    int temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1]=temp;
                }
            }
    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    蚁前阅读 10,606评论 0 52
  • 排序的基本概念 在计算机程序开发过程中,经常需要一组数据元素(或记录)按某个关键字进行排序,排序完成的序列可用于快...
    Jack921阅读 5,367评论 1 4
  • 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    闲云清烟阅读 4,119评论 0 6
  • 一、直接下载Xcode直接在App Store下载即可. 跳转链接: https://developer.appl...
    载波阅读 1,418评论 0 0
  • 初中的时候遇到过两次别人将我心里的故事讲给了别人,而且两次都是同一人。 她叫Z,是我初中时同一个寝室...
    N撒浪嘿哟阅读 3,222评论 0 0

友情链接更多精彩内容