JAVA语言在Arrays类中为我们提供了sort()方法来对数组进行排序,该方法使用的是“经过调优的快速排序法”,但该方法只提供了升序排序这一种排序方案,想要降序排序仍需要我们自己来实现。
下面给大家分享三种经典排序方法:冒泡排序、快速排序、选择排序。希望对学习中的同学们有所帮助。
冒泡排序(Bubble Sort)
- 名字由来:
较大的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。 - 原理如下:
1.比较相邻的元素,如果第一个比第二个大,就交换他们两个。
2.对每一对相邻元素做同样的工作,从i = 0 开始,执行一遍内层循环,确定一个最大(最小)的数并将它放至数组最末端。
3.重复以上步骤,直到所有交换完成,至此一个数组的排序就完成了,需要注意的一点是:每进行 i 趟排序,内循环中需要交换的数就少了 i 个。
public static void maopaoSort() {
int[] array = {3,5,2,8,6,9,4,7};
int temp = 0;
for (int i = 0; i < array.length-1; i++) {
for (int j = 0; j < array.length-1-i; j++) {
if (array[j]>array[j+1]) {
temp = array[j];
array[j] = array[j+1];
array[j&#