冒泡排序算法的代码实现
时间: 2024-09-20 21:14:52 浏览: 38
C#实现冒泡排序算法的代码示例
5星 · 资源好评率100%
冒泡排序是一种简单的排序算法,它重复地遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。
下面是Java中冒泡排序的一个基本实现:
```java
public class BubbleSort {
void bubbleSort(int arr[]) {
int n = arr.length;
for (int i = 0; i < n-1; i++) {
// Last i elements are already in place
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;
}
}
}
}
// Function to print array of size n
static 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);
printArray(arr);
}
}
```
在这个例子中,`bubbleSort()` 方法接受一个整数数组并使用两层嵌套循环来执行冒泡排序。外部循环控制需要排序的次数(因为最大的元素每次都会“冒泡”到正确的位置),内部循环则负责比较相邻的元素并交换它们的位置,如果当前元素大于下一个元素的话。
运行这个程序,你会看到原始数组按升序排列后的结果。如果你有任何关于这个代码的问题,或者想了解更深入的概念,请告诉我。
阅读全文