介绍
冒泡排序是一种算法,比较相邻元素,如果他们处在错误的位置上,那么交换他们的位置。排序可以进行升序或者降序。
原理
从第一个元素开始,比较第一个元素和第二个元素,如果第一个元素大于第二个元素,那么交换他们的位置。比较 第二个元素和第三个元素的位置,如果处在错误的位置,那么交换他们。上面的过程直到数组的最后一个元素。
相关视频教程推荐:java免费视频教程
相同的过程应用于剩余的迭代中,每次迭代之后,最大的元素将会放在未排序的元素之后。每次迭代之后,对比结束在最后一个未排序的元素,当未排序的元素放在正确的位置上,那么久完成排序了。
冒泡排序算法
```
bubbleSort(array)
for i <- 1 to indexOfLastUnsortedElement-1
if leftElement > rightElement
swap leftElement and rightElement
end bubbleSort
```
Java实现
// Bubble sort in Java
import java.util.Arrays;
class BubbleSort {
void bubbleSort(int array[]) {
int size = array.length;
for (int i = 0; i < size - 1; i++)
for (int j = 0; j < size - i - 1; j++)
// To sort in descending order, change > to < in this line.
if (array[j] > array[j + 1]) {
int temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
public static void main(String args[]) {
int[] data = { -2, 45, 0, 11, -9 };
BubbleSort bs = new BubbleSort();
bs.bubbleSort(data);
System.out.println("Sorted Array in Ascending Order:");
System.out.println(Arrays.toString(data));
}
}
相关文章教程推荐:java入门程序