当前位置 : 主页 > 编程语言 > java >

冒泡排序--JAVA

来源:互联网 收集:自由互联 发布时间:2023-03-22
1、概念:给定一个数组,让数组升序(降序)排序 2、思路:以升序为例升序,将数组中相邻元素从前往后依次进行排序,若前一个元素比后一个大,则交换,一趟下来最大的元素在数

1、概念:给定一个数组,让数组升序(降序)排序

2、思路:以升序为例升序,将数组中相邻元素从前往后依次进行排序,若前一个元素比后一个大,则交换,一趟下来最大的元素在数组末尾

3、图解分析:

(1)i=0:如下图所示第一趟内部循环结束,j共循环了四次,j=3。当j=0时,array[0]=10;array[1]=5;10>5,执行array[j]=array[j+1]数组变为{5,10,3,7,6}。以下所有循环和交换如上

冒泡排序--JAVA_数据

(2)i=1:代码内部循环3次,j=2时已停止。

冒泡排序--JAVA_升序_02

(3)i=2:第3趟的内部循环就结束了,因为如果再往下执行,就要操作7了,但是7我们在第2趟的时候已经操作过了。在第3趟的内部循环中,是操作了6在倒数第3位的位置,我们发现内部循环j执行了2次,到j= 1时候停止。 数据早就排序好了,但是代码不知道,所以继续第4趟。

冒泡排序--JAVA_冒泡排序_03

(4)i=3:因为我们要操作的是5这个数字,和3比较完之后,就已经在原来正确的位置了,所以循环结束。在第4趟的内部循环中,是操作了5在倒数第4位的位置,我们发现内部循环j执行了1次,到j=0时候停止。

冒泡排序--JAVA_数据_04

4、代码:

冒泡排序--JAVA_数据_05

运行结果:

冒泡排序--JAVA_数据_06

上一篇:#yyds干货盘点# LeetCode面试题:旋转图像
下一篇:没有了
网友评论