冒泡排序

思想:依次比较某个数和它相邻的后一个数,如果顺序不正确则交换。


冒泡排序没一外层循环都会使一个数找到它应该存在的位置。


其时间复杂度为O(N^2)

import java.util.Scanner;

public class BubbleSort {

	public void sort(int[] arr) {
		for(int i=0; i<arr.length-1; i++) {
			for(int j=0; j<arr.length-1; j ++) {
				if(arr[j]>arr[j+1]) {
					int temp = arr[j];
					arr[j] = arr[j+1];
					arr[j+1] = temp;
				}
			}
		}
	}
	
	public static void main(String[] args) {
		int[] arr;
		Scanner sc = new Scanner(System.in);
		System.out.println("需要输入的数: ");
		int n = sc.nextInt();
		arr = new int[n];
		for(int i=0; i<n; i++) {
			arr[i] = sc.nextInt();
		}
		BubbleSort bs = new BubbleSort();
		bs.sort(arr);
		for(int i=0; i<arr.length; i++) {
			System.out.print(arr[i] + " ");
		}
		
	}

}



你可能感兴趣的:(冒泡排序)