冒泡排序(升序)原理:
对5,4,7,9,3这些数字进行排序:
第一次排序,把5与4进行比较,4<5,所以4与5的位置进行交换,结果为4,5,7,9,3;
第二次排序,把5与7进行比较,5<7,所以5与7的位置不变,结果还是4,5,7,9,3;
第二次排序,把7与9进行比较,7<9,所以7与9的位置不变,结果还是4,5,7,9,3;
第四次排序,把9与3进行比较,3<9,所以9与3的位置进行交换,结果为4,5,7,3,9
所以第一轮排序的结果为:4,5,7,3,9,把最大的9排在最后
对4,5,7,3,9进行第二轮排序:
第一次排序,把4与5进行比较,4<5,所以4与5的位置不变,结果还是4,5,7,3,9
第二次排序,把5与7进行比较,5<7,所以5与7的位置不变,结果还是4,5,7,3,9
第三次排序,把7与3进行比较,3<7,所以7与3的位置进行交换,结果为4,5,3,7,9
所以第二轮排序的结果为:4,5,3,7,9,且把7排在9的前面
对4,5,3,7,9进行第三轮排序:
第一次排序,把4与5进行比较,4<5,所以4与5的位置不变,结果还是4,5,3,7,9
第二次排序, 把5与3进行比较,3<5,所以5与3的位置进行交换,结果为4,3,5,7,9
所以第三轮排序的结果为:4,3,5,7,9,且把5排在7的前面
对4,3,5,7,9进行第四轮排序:
第一次排序,把4与3进行比较,3<4,所以4与3的位置进行交换,结果为3,4,5,7,9
所以第四轮排序的结果为:3,4,5,7,9,且把4排在5的前面
最终排序结果为:3,4,5,7,9
下面请看冒泡排序代码:
/*
* 冒泡排序
*/
package com.array;
public class BubbleSortTest {
public static void bubbleSort(int[] array) {
for(int i = 0; i < array.length - 1; i++) {
for(int j = 0; j < array.length - i - 1; j++) {
if(array[j] > array[j + 1]) {
int temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
System.out.println("第" + (i + 1) + "趟排序");
//循环打印排序后的最后结果
for(int k = 0; k < array.length; k++) {
System.out.print(array[k] + " ");
}
System.out.println();
}
}
public static void main(String[] args) {
int[] array = {5,4,7,9,3}; //声明a的数组,并且给定值
bubbleSort(array);
}
}
运行结果:
第1趟排序
4 5 7 3 9
第2趟排序
4 5 3 7 9
第3趟排序
4 3 5 7 9
第4趟排序
3 4 5 7 9
分享到:
相关推荐
使用java实现冒泡排序 1.对int数组进行排序,sortAsc 升序,sortDesc降序 2.创建main函数,声明一个int数组,随机写入一些数字 3.sortAsc进行升序排列 4.使用双重for循环进行排序,当第一个数字大于第二个数字, 则...
C语言冒泡排序(升序)
通过输入1或者是0来控制升序或者降序,是一个简单的matlab的程序,仅供参考
冒泡排序法实现升序排序
冒泡排序算法的C++函数模板 冒泡排序算法是简单的排序算法之一,它的主要思想是通过反复比较相邻元素,将小的元素逐步移到序列的开始位置,而大的元素逐步移到序列的末尾位置,以达到排序的目的。下面是冒泡排序...
**JavaScript实现冒泡排序(升序):** ```javascript function bubbleSort(arr) { var len = arr.length; for (var i = 0; i ; i++) { for (var j = 0; j ; j++) { if (arr[j] > arr[j + 1]) { // 如果前一个...
本篇我们将深入探讨TIA博途SCL语言中的冒泡排序算法,并介绍如何创建一个全局函数块(FC)库,实现升序或降序的排序功能。 冒泡排序是一种简单但效率较低的排序算法,它的基本思想是通过重复遍历待排序的序列,比较...
### 二维数组冒泡排序详解 #### 一、引言 冒泡排序是一种简单的排序算法,在数据处理领域有着广泛的应用。对于一维数组而言,冒泡排序实现起来相对容易;然而,当涉及到二维数组时,排序的过程就变得复杂起来。...
本篇文章将深入探讨如何在S7-200SMART PLC上实现冒泡排序算法,并针对其进行优化,同时支持用户自定义升序或降序排列,以及处理不同数据类型。 首先,我们要理解冒泡排序的基本原理。冒泡排序是一种简单的排序算法...
在探讨C++冒泡排序这一知识点时,我们不仅会深入理解冒泡排序的基本原理、算法实现,还会细致分析如何在C++中灵活运用该算法进行数据的升序或降序排列。冒泡排序是一种简单的排序算法,其基本思想是通过重复地走访待...
接下来,我们将深入探讨冒泡排序算法以及如何实现升序和降序排序。 **冒泡排序** 是一种基础的排序算法,它的名字来源于排序过程中较小的元素像气泡一样逐渐“浮”到数组的顶端。冒泡排序的工作原理是通过比较相邻...
冒泡排序是一种基础且经典的排序算法,主要用于对一组数值进行升序或降序排列。它的基本思想是通过不断地比较相邻元素并交换位置,使较大的(或较小的)元素逐渐“浮”到序列的尾部,就像水底下的气泡慢慢上升到水面...
冒泡排序是一种基础的排序算法,它通过重复遍历待排序的序列,比较相邻的元素并根据需要交换它们,直到序列变得有序。本题涉及多个关于冒泡排序及其变种的应用题目。 1. 第一段代码段是冒泡排序的一个简化版本,只...
C语言冒泡排序,包括了输入输出函数和升序排序函数,可以键盘输入任意一组数据回车停止输入,系统升序排序后输出
冒泡排序是一种基础且经典的排序算法,它通过不断交换相邻两个元素的位置,使得每一次遍历都能将当前未排序部分的最大(或最小)元素“冒”到已排序部分的末尾。在Java编程语言中,我们可以很容易地实现这个算法。...
冒泡排序是一种基础且经典的排序算法,主要用于对一组数值进行升序或降序排列。它的基本思想是通过不断地比较相邻元素并交换位置,使得每一轮循环结束后,最大(或最小)的元素会“浮”到数组的一端。这个过程就像...
根据给定文件的信息,我们可以总结出以下关于“数据结构中的冒泡排序以及输出每趟排序结果”的知识点: ### 一、冒泡排序的基本概念 冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,...
冒泡排序是一种基础且经典的排序算法,其工作原理是通过重复遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成...
冒泡排序是一种基础且高效的排序算法,其基本思想是通过不断地交换相邻的逆序元素,逐步将较大的元素“冒泡”到序列的末尾。在TIA博途中,我们可以使用结构化控制语言(SCL)来实现这个算法。TIA博途是一款由西门子...
冒泡排序是一种基础且经典的排序算法,主要用于对一组数据进行升序或降序排列。它的工作原理是通过不断地比较相邻元素并交换位置,使得每一轮循环结束后,最大的元素(对于升序排序)会“冒”到数组的末尾。这个过程...