算法-排序算法-冒泡排序
2023-09-27 14:24:43 时间
/** * 排序算法-冒泡排序 * 冒泡排序(Bubble Sort)算法是所有排序算法中最简单、最基本的一种。 * 冒泡排序算法的思路就是交换排序,通过相邻数据的交换来达到排序的目的。 * 冒泡排序的思路: * (1)对数组中的各数据,依次比较相邻的两个元素的大小。 * (2)如果前面的数据大于后面的数据,就交换这两个数据。经过第一轮的多次比较排序后,便可将最小的数据排好。 * (3)再用同样的方法把剩下的数据逐个进行比较,最后便可按照从小到大的顺序排好数组各数据。 * 冒泡排序算法在对n个数据进行排序时,无论原数据有无顺序,都需要进行(i = n-1)次的外层循环。 * 每次内部的排序随着步骤的递增,需要排序的数据逐步减少,所以需要 (n - i)次的内层循环,注意:i从1开始 */ import java.util.*; public class BubbleSort { public static void main(String[] args) { //生成一个10个的随机数组 int size = 10; int[] ints = new int[size]; for (int i = 0; i < size; i++) { ints[i] = (int)(Math.random() * 100 ); } System.out.println("排序前的数组:" + Arrays.toString(ints)); for (int i = 1; i < size; i++) {//外层循环:进行(size-1)次 for (int j = 0; j < size - i; j++) {//内层循环:进行(size - i)次 if (ints[j] > ints[j+1]) { int temp = ints[j]; ints[j] = ints[j+1]; ints[j+1] = temp; } } System.out.println("第" + i + "步,排序结果为:" + Arrays.toString(ints)); } System.out.println("最终排序后的数组:" + Arrays.toString(ints)); } }
相关文章
- TextRank算法的基本原理及textrank4zh使用实例
- 【算法】【排序模块】计数排序和桶排序
- 【算法】【排序模块】冒泡排序和希尔排序
- PHP 数组排序:内置函数、算法排序
- 基于GA优化算法的磁性贴片位置布置优化算法matlab仿真
- 基于OFDM的信道估计算法
- 基于LCMV的参数辨识算法
- 10大排序算法之六:堆排序【不稳定】,复杂度中,不常用堆排序,堆结构更重要
- C#,图论与图算法,有向图(Graph)之环(Cycle)判断的颜色算法与源代码
- C#,排列组合的堆生成法(Heap’s Algorithm for generating permutations)算法与源代码
- 常见的排序算法
- 面试时写不出排序算法?看这篇就够了
- 深入浅出的排序算法-冒泡排序
- 《Python机器学习——预测分析核心算法》——导读
- 「Java 数据结构和算法」:图文详解---中缀表达式转后缀表达式。
- 【排序算法(四)】归并排序&&计数排序(非比较排序)以及八大排序算法的总结
- 【排序算法(三)】交换排序(冒泡排序&&快速排序)
- 华为OD机试 - 火星文计算(JavaScript) | 机试题+算法思路+考点+代码解析 【2023】
- 华为OD机试 - 卡片组成的最大数字(Python) | 机试题+算法思路+考点+代码解析 【2023】
- 【十大排序算法】超硬核,确定不进来看看?
- 经典排序算法 – 插入排序Insertion sort
- 九汇总再次排序算法
- 高速排序算法
- 白话经典算法系列之六 高速排序 高速搞定
- 35排序算法之合并排序
- 31排序算法之冒泡排序
- 排序算法--冒泡排序
- 【趣学算法】一棋盘的麦子
- 经典排序算法 - 冒泡排序Bubble sort
- Java排序算法(一)冒泡排序