Bubbl排序算法 Java:数组排序程序及示例

什么是 Bubbl排序?

Bubbl排序是一种简单的算法,它将数组的第一个元素与下一个元素进行比较。如果数组的当前元素在数值上大于下一个元素,则交换元素。同样,该算法将遍历数组的整个元素。

教程,我们将创建一个JAVA程序来实现 Bubble 排序。检查代码的输出将有助于您理解程序逻辑。

Java 检查阿姆斯特朗数的程序

package com.guru99;
 
public class BubbleSort {
 
	public static void main(String[] args)
	{  
		int arr[] ={860,8,200,9};  
 
		System.out.println("---Array BEFORE Bubble Sort---"); 
		
	    printArray(arr);
 
		bubbleSort(arr);//sorting array elements using bubble sort  
 
		System.out.println("---Array AFTER Bubble Sort---");  
		
		printArray(arr); 
 
	}  
 	static void bubbleSort(int[] array)
	{  
		int n = array.length;  
		int temp = 0;  
		for(int i=0; i < n; i++) // Looping through the array length
		{  System.out.println("Sort Pass Number "+(i+1)); 
			for(int j=1; j < (n-i); j++)
			{  
			    System.out.println("Comparing "+ array[j-1]+ " and " + array[j]);    
				if(array[j-1] > array[j])
				{   
				    
					//swap elements  
					temp = array[j-1];  
					array[j-1] = array[j];  
					array[j] = temp;  
				    System.out.println(array[j]  + " is greater than " + array[j-1]);
				    System.out.println("Swapping Elements: New Array After Swap");
					printArray(array);
				}  
 
			}  
		}  
 
	} 
	
	static void printArray(int[] array){
	    
	    for(int i=0; i < array.length; i++)
		{  
			System.out.print(array[i] + " ");  
		} 
	    System.out.println();
	    
	}
}

输出:

860 8 200 9 
Sort Pass Number 1
Comparing 860 and 8
860 is greater than 8
Swapping Elements: New Array After Swap
8 860 200 9 
Comparing 860 and 200
860 is greater than 200
Swapping Elements: New Array After Swap
8 200 860 9 
Comparing 860 and 9
860 is greater than 9
Swapping Elements: New Array After Swap
8 200 9 860 
Sort Pass Number 2
Comparing 8 and 200
Comparing 200 and 9
200 is greater than 9
Swapping Elements: New Array After Swap
8 9 200 860 
Sort Pass Number 3
Comparing 8 and 9
Sort Pass Number 4
---Array AFTER Bubble Sort---
8 9 200 860