JAVA写一个冒泡排序
时间: 2023-08-25 07:18:12 浏览: 85
### 回答1:
好的,以下是一个简单的Java冒泡排序示例:
```java
public class BubbleSort {
public static void main(String[] args) {
int[] arr = {5, 2, 8, 4, 1, 9};
int temp;
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] > arr[j+1]) {
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
}
```
在这个示例中,我们使用了冒泡排序算法对一个整数数组进行排序。冒泡排序算法的基本思想是在每一轮排序中,将相邻的两个元素进行比较,如果它们的顺序不正确就交换它们的位置。通过多次循环这个过程,最终可以将整个数组排序。
### 回答2:
冒泡排序是一种简单且常用的排序算法,它通过相邻元素的比较和交换来进行排序。下面是用JAVA写一个冒泡排序的示例代码:
```java
public class BubbleSort {
public static void main(String[] args) {
int[] array = {5, 3, 8, 2, 1, 4};
bubbleSort(array);
System.out.println("排序后的结果为:");
for (int num : array) {
System.out.print(num + " ");
}
}
public static void bubbleSort(int[] array) {
int length = array.length;
for (int i = 0; i < length - 1; i++) {
for (int j = 0; j < length - 1 - i; j++) {
if (array[j] > array[j + 1]) {
int temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
}
}
```
以上代码中,我们定义了一个名为`BubbleSort`的类,其中包含了一个`bubbleSort`方法。该方法使用了两层嵌套的循环来遍历数组,并通过比较相邻元素的大小来进行交换,从而实现排序的功能。
外层循环控制需要进行比较的轮数,每次比较都会将当前数组中最大的元素冒泡到末尾。内层循环用于比较相邻元素的大小,若前一个元素大于后一个元素,则进行交换。
在示例代码中,我们定义了一个长度为6的整型数组`array`,通过调用`bubbleSort`方法来对数组进行排序。排序完成后,我们通过遍历数组来输出排序后的结果。
该示例代码仅为了演示冒泡排序的实现过程,实际应用中可能需要考虑更多的情况,如数组为空、元素重复等,以确保算法的正确性和鲁棒性。
### 回答3:
冒泡排序是一种基本的排序算法,其思想是通过不断地比较和交换相邻元素,让较大(或较小)的元素逐渐移动到数组的一端。以下是用JAVA实现冒泡排序的代码示例:
```java
public class BubbleSort {
public static 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]) {
// 交换元素
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
public static void main(String[] args) {
int[] arr = {64, 34, 25, 12, 22, 11, 90};
bubbleSort(arr);
System.out.println("排序后的数组:");
for (int num : arr) {
System.out.print(num + " ");
}
}
}
```
以上代码中,`bubbleSort`方法使用嵌套循环来进行冒泡排序。外层循环用于控制需要比较的轮数,每一轮循环将会找到当前未排序部分最大(或最小)的元素,并将其移动到合适的位置。内层循环则通过比较相邻元素的大小来进行交换。最终,排序后的数组将会被打印出来。在给定的数组`arr`中,排序后的结果为:11 12 22 25 34 64 90。
阅读全文