欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java 冒泡排序

程序员文章站 2022-05-12 17:49:56
...

冒泡排序:
它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。

由来:这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。

比较轮数:数组长度-1;

代码:

public static void main(String[] args) {
		System.out.println("请输入数组的长度:");
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int[] a = new int[n];
		for(int i = 0; i < n; i++){
			a[i] = sc.nextInt();
		}
		System.out.println("排序结果如下:");
		//这里长度为a.length-1:需要比较length-1轮
		for(int i = 0; i < a.length-1; i++){
			for(int j = 0; j < a.length-1-i;j++){
				if(a[j] > a[j+1]){
					int temp = a[j+1];
					a[j+1] = a[j];
					a[j] = temp;
				}
			}
		}
		
		for(int i:a){
			System.out.print(i+" ");
		}
	}

运行截图:
java 冒泡排序