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+" ");
}
}
运行截图: