1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
package
com.xbmd.share;
import
java.util.Scanner;
/**
* 需求:将一个无序数组按照从小到大的顺序排列
* 方法:冒泡排序
* 实现:相邻的两个元素进行比较,如果这个数大于比较的数,就交换位置
* 步骤:
* ①:第一轮比较完之后,最大元素冒出来
* ②:第二轮比较完之后,第二大元素冒出来
* 依次类推...
*/
public
class
BubbleSort {
public
static
void
main(String[] args) {
//从键盘输入数
Scanner input =
new
Scanner(System.in);
System.out.print(
"请输入数组的长度:"
);
//数组长度赋给变量length
int
length = input.nextInt();
//动态创建数组
int
[] arr =
new
int
[length];
//为数组各个元素赋值
System.out.println(
"为数组各元素赋值:"
);
for
(
int
i =
0
; i < arr.length; i++) {
arr[i]=input.nextInt();
}
System.out.println(
"排序前的数组:"
);
print(arr);
System.out.println();
System.out.println(
"排序后的数组:"
);
bubble(arr);
print(arr);
}
private
static
void
bubble(
int
[] arr){
//冒泡排序
for
(
int
i=
0
;i<arr.length-
1
;i++){
//控制轮数
for
(
int
j=
0
;j<arr.length-i-
1
;j++){
//控制每轮比较的次数
if
(arr[j]>arr[j+
1
]){
//如果这个数大于比较的数,就交换位置
int
temp;
temp=arr[j];
arr[j]=arr[j+
1
];
arr[j+
1
]=temp;
}
}
}
}
private
static
void
print(
int
[] arr){
//打印数组
for
(
int
i : arr) {
System.out.print(i+
" "
);
}
}
}
|
冒泡排序---易懂
最新推荐文章于 2024-07-15 18:41:44 发布