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

冒泡排序

时间:2024-08-01 20:11:07浏览次数:6  
标签:arr int System 冒泡排序 array public out

特点:每一轮排序是将相邻的两个元素比较大小,最终是一个从小到大或者从大到小的有序序列。
规律:1、轮次的规律:总共有n个元素,则需要比较n-1次
2、每一轮的比较规律:每一轮的比较规律比上一轮-1次
代码实现思想:至少需要两个变量参与编码,一个变量控制轮次,一个变量控制每一轮次中比较的次数。即至少两个for循环,外层for循环控制轮次,内层for循环控制当前轮次比较的次数。
举例:将数组中的元素从小到大排序 int[] arr = { 12, 22, 8, 49, 3 };
public class Test- [ ] { public static void main(String[] args) { int[] arr = {12, 8, 22, 3, 49}; int[] resArr = bubbleSort(arr); printIntArray(resArr); } /* 将输出int类型的数组功能封装成一个方法 */ public static void printIntArray(int[] array) { for (int i = 0; i < array.length; i++) { if (i == 0) { System.out.print("[" + array[i] + ", "); } else if (i == array.length - 1) { System.out.print(array[i] + "]"); } else { System.out.print(array[i] + ", "); } } //换行 System.out.println(); } /* 定义一个方法,进行冒泡排序 返回值类型:int[] 参数类型:int[] */ public static int[] bubbleSort(int[] arr) { for (int i = 1; i < arr.length ; i++) { for (int j = 0; j < arr.length - i; j++) { if (arr[j] > arr[j + 1]) { 注意:若将数组从大到小排列,需要改变符号 //比较交换 int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } return arr; } }

标签:arr,int,System,冒泡排序,array,public,out
From: https://www.cnblogs.com/zhuzhuya/p/18337380

相关文章

  • 冒泡排序的具体思想和算法实现以及改进
    冒泡排序——稳定算法从小到大排序:0~length-1对比a[0]和a[1],如果前一个大于后一个,交换位置。对比a[1]和a[2],如果前一个大于后一个,交换位置。对比a[2]和a[3],如果前一个大于后一个,交换位置。...对比a[length-2]和a[length-1],如果前一个大于后一个,交换位置。第一轮结果下......
  • 【排序算法(二)】——冒泡排序、快速排序和归并排序—>深层解析
    前言:    接上篇,排序算法除了选择排序(希尔排序)和插入排序(堆排序)之外,还用交换排序(冒泡排序、快速排序)和归并排序已经非比较排序,本篇来深层解析这些排序算法一、交换排序    1.1、冒泡排序    冒泡排序,这个再熟悉不过了,学校中老师讲的第一个排序就......
  • 两种常见排序(冒泡排序和选择排序)详解
    一、冒泡排序1.1、冒泡排序的原理讲解。例如有以下7个数的无序数列储存在数组arr[7]中,现在需要用冒泡排序法来对以下序列进行排序冒泡排序是比较相邻的两个数,如果第一个数比第二个数大,这两个数就要交换两个数的位置,如果第一个数小于第二个数则不用变换位置,例如第一个数3比......
  • 冒泡排序与选择排序
    选择排序:(1)首先通过n-1次比较,从n个数中找出最小的,将它与第一个数交换—第一趟选择排序,结果最小的数被安置在第一个元素位置上。(2)再通过n-2次比较,从剩余的n-1个数中找出关键字次小的记录,将它与第二个数交换—第二趟选择排序(3)重复上述过程,共经过n-1趟排序后,排序结束排序原......
  • 冒泡排序
    冒泡排序两层循环,外层冒泡轮数,内层依次比较。时间复杂度O(n2),代码量小,效率较低,小数据好用。publicstaticvoidmain(String[]args){int[]ints={1,24,53,42,5};int[]sort=sort(ints);System.out.println(Arrays.toString(sort));}public......
  • 从零开始学Java(超详细韩顺平老师笔记梳理)05——数组(语法,赋值机制,拷贝反转)、排序(冒泡排
    文章目录前言一、数组1.基础语法1)介绍2)使用(动态、静态初始化语法与使用)3)注意事项和细节2.数组赋值机制(ArryAssign)3.数组拷贝4.数组反转(reserve)5.数组的扩容与缩减二、排序三、查找四、二维数组(TwoDimensionalArry)1.快速入门2.使用3.案例:打印一个10行的......
  • 冒泡排序算法
    冒泡排序算法点击查看代码/*冒泡排序,英语:BubbleSort,是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序,如:从大到小、首字母从A到Z。错误就把他们交换过来。*/#include<stdio.h>voidbubble_sort(intarr[],intlen);intmain(){......
  • 【C语言】全面解析冒泡排序
    文章目录什么是冒泡排序?冒泡排序的基本实现代码解释冒泡排序的优化冒泡排序的性能分析冒泡排序的实际应用结论在C语言编程中,排序算法是一个非常基础且重要的概念。冒泡排序作为最简单、最易理解的排序算法之一,广泛应用于各种编程教学和实践中。本文将全面解析C语......
  • java数组之冒泡排序、快速排序
    一、排序算法概述1.算法定义排序:假设含有n个记录的序列为{R1,R2,...,Rn},其相应的关键字序列为{K1,K2,...,Kn}。将这些记录重新排序为{Ri1,Ri2,...,Rin},使得相应的关键字值满足条Ki1<=Ki2<=...<=Kin,这样的一种操作称为排序。通常来说,排序的目的是快速查找。2.衡量排序算......
  • js 实现冒泡排序算法
    冒泡排序是一种简单的排序算法。它重复地遍历待排序的列表,比较相邻的元素并交换位置,如果它们的顺序错误。这个过程会重复进行,直到整个列表排序完成。下面是用JavaScript实现的冒泡排序算法:functionbubbleSort(arr){letn=arr.length;letswapped;do{......