冒泡算法原理
1.比较两个相邻的元素,如果一个大于第二个,则交换他们;否则不用交换;
2.从第一个元素开始,依次比较两个相邻的元素,直到最后一个元素;
3.重复步骤2,开始新一轮的比较,直到得出排序后的结果。
Java代码如下:
package cn.com.chiclewu;
/**
* 练习冒泡排序法
* @author chiclewu
*
*/
public class BubbleSort {
//按照升序进行排序
public static void ascendingSort(int[] array) {
int temp;
for (int i = 0; i < array.length; 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 + 1] = temp;
}
}
}
}
//按照降序进行排序
public static void descendingSort(int[] array) {
int temp;
for (int i = 0; i < array.length; 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 + 1] = temp;
}
}
}
}
public static void main(String[] args) {
int[] a = { 5, 7, 2, 8, 3 };
ascendingSort(a);
System.out.println("升序:");
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
System.out.println();
int[] b = { 5, 7, 2, 8, 3 };
descendingSort(b);
System.out.println("降序:");
for (int i = 0; i < b.length; i++) {
System.out.print(b[i] + " ");
}
}
}
输出结果:
升序:
2 3 5 7 8
降序:
8 7 5 3 2