java排序算法之冒泡排序(bubble sort)

冒泡排序原理:
数组中有n个元素,每次比较相邻元素,按从小到大进行排列,每趟排序都会将这趟排序的最大值放至相应位置,例如第一趟放至数组末端,第二趟放至倒数第二个,以此类推。整个排序共进行n-1趟排序,每趟排序共进行n-i次。

package j2se.sort;

public class BubbleSort {

	public static void main(String[] args) {
		
		//定义数组array并赋值
		int[] array = new int[ (int) (Math.random() * 5 + 5)];
		for(int i = 0; i < array.length; i++) {
			array[i] = (int) (Math.random() * 100 + 1);
		}
		
		//输出排序前结果
		System.out.println("before sorted:");
		for(int i : array) {
			System.out.print(i + " ");
		}
		System.out.println();
		
		//进行排序
		array = bubble(array);
		
		//输出排序后结果
		System.out.println("after sorted:");
		for(int i : array) {
			System.out.print(i + " ");
		}
		
	}
	
	
	public static int[] bubble(int[] array) {
		
		if(array.length <= 1) {
			return array;
		}
		
		int temp = 0;
		for(int i = 0; i < array.length; i++) {
			for(int j = 1; j < array.length - i; j++) {
				if(array[j] < array[j-1]) {
					temp = array[j-1];
					array[j-1] = array[j];
					array[j] = temp;
				}
			}
		}
		
		return array;
		
	}

}

你可能感兴趣的:(java)