Java 中的冒泡排序算法:数组排序程序和示例
什么是冒泡排序?
冒泡排序是一种简单的算法,它比较数组的第一个元素和下一个元素。如果数组的当前元素大于下一个元素,则交换这两个元素。同样,该算法将遍历数组的整个元素。
在本教程中,我们将创建一个 JAVA 程序来实现冒泡排序。请查看代码输出,这将帮助您理解程序逻辑。
检查阿姆斯特朗数的 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
