首页 > 其他分享 >冒泡排序

冒泡排序

时间:2023-10-12 22:47:22浏览次数:25  
标签:10 arr int 交换 冒泡排序 比较

冒泡排序算法原理

1、每一次循环结束之后,都要找出最大的数据,放到参与比较的这堆数据的最右边。(冒出最大的那个气泡)

2、 拿着左边的数字和右边的数字比对,当左边 > 右边的时候,交换位置。

例如:9, 8, 10, 7, 6

第1次循环:比较的数据 9 8 10 7 6
8 9 10 7 6 第1次比较:交换
8 9 10 7 6 第2次比较:不交换
8 9 7 10 6 第3次比较:交换
8 9 7 6 10 第4次比较:交换

第2次循环:比较的数据 8 9 7 6
8 9 7 6 第1次比较:不交换
8 7 9 6 第2次比较:交换
8 7 6 9 第3次比较:交换

第3次循环:比较的数据 8 7 6
7 8 6 第1次比较:交换
7 6 8 第2次比较:交换

第4次循环:比较的数据 7 6
6 7 第1次比较:交换

 

public class BubbleSort {
    public static void main(String[] args) {

        int[] arr = {9, 8, 10, 7, 6, 0, 11};
        
        for(int i = arr.length-1; i > 0; i--){
            for(int j = 0; j < i; j++){
                // 不管是否需要交换位置,总之是要比较一次的。
                if(arr[j] > arr[j+1]){
                    // 交换位置
                    // arr[j] 和 arr[j+1] 交换
                    int temp;
                    temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }
        // 输出结果
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
}

 

标签:10,arr,int,交换,冒泡排序,比较
From: https://www.cnblogs.com/hyy-0/p/17615660.html

相关文章

  • 【基础算法】排序算法 —— 冒泡排序
    一、算法原理冒泡排序只会操作相邻的两个数据。每次冒泡操作都会对相邻的两个元素进行比较,如果不满足大小关系要求,就进行交换。一次冒泡会让至少一个元素移动到它应该在的位置,重复n次,就完成了n个数据的排序。 示例:使用冒泡排序对数组arr=[4,5,6,3,2,1]从小到大排序。第1次......
  • 链表冒泡排序
    创建节点类publicclassNode{intn;Nodenext;}第1次推导publicclasstest{publicstaticvoidmain(String[]args){//新建节点Nodenode1=newNode();node1.n=9;Nodenode2=newNode();no......
  • 数组冒泡排序
    第1次推导publicclasstest{publicstaticvoidmain(String[]args){int[]ints={6,5,9,5};inttmp;if(ints[0]>ints[1]){tmp=ints[0];ints[0]=ints[1];ints[1]=tmp;}......
  • 轻松掌握冒泡排序算法,值得收藏
    冒泡排序(BubbleSort)是一种简单的排序算法,其基本思想是多次遍历待排序的数组,每次比较相邻的两个元素,如果它们的顺序不正确就交换它们,直到整个数组有序为止。冒泡排序的基本步骤如下:从数组的第一个元素开始,比较相邻的两个元素,如果它们的顺序不正确就交换它们。重复步骤1,直到遍历......
  • 简单而经典:Java中的冒泡排序算法详解
    当谈到简单的排序算法时,冒泡排序(BubbleSort)通常是其中之一。虽然它不是最高效的排序算法之一,但它的简单性和易于理解使它成为学习排序算法的良好起点。在本文中,我们将详细介绍Java中的冒泡排序。冒泡排序的基本原理冒泡排序(BubbleSort)是一种简单的排序算法,它通过多次遍历待排序的......
  • 一键实现冒泡排序算法,代码质量有保障!
    近年来,深度学习和神经语言模型作为提高开发人员生产力的手段,尤其是2022年11月30日,ChatGPT这一现象级热点得出横空出世,在全球范围内形成了热烈的讨论,其中关于自动化代码生成和其它软件工程方面受到了极大的关注。 软件开发过程涵盖了各种代码生成任务,包括代码自动生成、代码翻......
  • 一键实现冒泡排序算法,代码质量有保障!
    近年来,深度学习和神经语言模型作为提高开发人员生产力的手段,尤其是2022年11月30日,ChatGPT这一现象级热点得出横空出世,在全球范围内形成了热烈的讨论,其中关于自动化代码生成和其它软件工程方面受到了极大的关注。软件开发过程涵盖了各种代码生成任务,包括代码自动生成、代码翻译和......
  • 冒泡排序
    importjava.util.Arrays;publicclassarrayDemo7{publicstaticvoidmain(String[]args){int[]arrays={5,2,3,1,4,6};sortArrays(arrays);System.out.println(Arrays.toString(arrays));}publicstaticint[]sortArrays(int[]arrays){for(intlength=ar......
  • 【java基础】冒泡排序 正序倒叙排序 【一眼就会系列】
    //本节课:1、数组冒泡排序:倒序、正序//1、冒泡正序:intnum[]={345,2,3,777,34,233,97,30};for(inti=0;i<num.length;i++){for(intt=0;t<num.length-1-i;t++){if(num[t]>num[t+1......
  • 冒泡排序
    //冒泡排序voidbubbling(intarr[],intsz){inti=0;intk=1;for(i=0;i<sz-1;i++)//{inta=0; for(a=0;a<sz-1-i;a++) { if(arr[a]>=arr[a+1])//,比较,交换 { intret=arr[a]; arr[a]=arr[a+1]; arr[a+1]=ret; ......