分析
冒泡排序: 将一个无序数组进行排序 例: 规则: 从第一个数开始,第一个数和后面的数进行比较,小的放前面,大的放后面。直到最后两个数进行比较后,算一轮排序。因为每一轮会确定一个数的位置,因此总轮数正好是数组长度 - 1。
思路
考虑使用内外层for循环,外层控制冒泡排序的轮数,内层循环对数进行两两比较。使用if条件语句进行两数的交换。
实战
public class BubbleSort
{
public static void main(String
[] args
)
{
int[] arr
= {31, 22, 100, 1, 60, 30, 76, 46};
for (int j
= 0; j
< arr
.length
; j
++)
{
System
.out
.print(arr
[j
] + " ");
}
System
.out
.println("\n================================");
int temp
= 0;
for (int i
= 0; i
< arr
.length
- 1; i
++)
{
for (int j
= 0; j
< arr
.length
- 1 - i
; j
++)
{
if (arr
[j
] > arr
[j
+ 1])
{
temp
= arr
[j
];
arr
[j
] = arr
[j
+ 1];
arr
[j
+ 1] = temp
;
}
}
}
for (int i
= 0; i
< arr
.length
; i
++)
{
System
.out
.print(arr
[i
] + " ");
}
}
}
结果
PS:每天坚持撸代码,总有一天会秃的