一、冒泡排序:
冒泡排序是一种简单的排序算法,它重复地遍历待排序的数列,比较每对相邻的元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
public class Simple1 {
public static void main(String[] args) {
int []a ={21,42,32,54,31,12,23};
int len=a.length;
System.out.println("待排的数组:");
for (int i = 0; i < len; i++) {
System.out.print(a[i]+" ");
}
//冒泡排序
int temp;
for (int j = 0; j<len; j++) {
for (int i = len-1; i>j; i--) {
if(a[i]<a[i-1]){
temp=a[i-1];
a[i-1]=a[i];
a[i]=temp;
}
}
}
System.out.println();
System.out.println("排好的数组:");
for (int i = 0; i < len; i++) {
System.out.print(a[i]+" ");
}
}
}
二、冒泡排序的实际应用
public class BubbleSort {
void bubbleSort(int arr[]) {
int n = arr.length;
for (int i = 0; i < n-1; i++)
for (int j = 0; j < n-i-1; j++)
if (arr[j] > arr[j+1]) {
// swap arr[j+1] and arr[j]
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
/* Prints the array */
void printArray(int arr[]) {
int n = arr.length;
for (int i=0; i<n; ++i)
System.out.print(arr[i]+" ");
System.out.println();
}
// Test the code
public static void main(String args[]) {
BubbleSort bs = new BubbleSort();
int arr[] = {64, 34, 25, 12, 22, 11, 90};
bs.bubbleSort(arr);
System.out.println("Sorted array");
bs.printArray(arr);
}
}
这个程序首先定义了一个冒泡排序的方法bubbleSort
,这个方法遍历数组并对每对相邻的元素进行比较。如果它们的顺序是错误的(即,第一个元素大于第二个元素),那么就交换这两个元素。这个过程会重复进行,直到整个数组都按照正确的顺序排列。最后,main
方法创建一个BubbleSort对象,并使用这个对象对一个数组进行排序,然后打印出排序后的数组。