冒泡排序

冒泡排序


它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。


时间复杂度


O(n^2)


代码


public class BubbleSort {

	public void sort(int[] data) {
		// 升序
		if (data == null || data.length == 0) {
			return;
		}
		for (int i = data.length - 1; i >= 0; i--) {
			for (int j = 0; j < i; j++) {
				if (data[j] > data[i]) {
					int temp = data[i];
					data[i] = data[j];
					data[j] = temp;
				}
			}
		}
		
		
		print(data);
	}
	public static void print(int[] datas) {
		for (int i = 0; i < datas.length; i++) {
			System.out.print(datas[i] + " ");
		}
		System.out.println("");
	}
	public static void main(String[] args) {
		int[] data = {1,5,3,2,67,2,3,4,7,8,9};
		BubbleSort bubbleSort = new BubbleSort();
		bubbleSort.sort(data);
	}

}


你可能感兴趣的:(数据结构,算法)