冒牌排序java
时间: 2023-07-01 13:26:24 浏览: 51
以下是冒泡排序的 Java 代码实现:
```java
public static void bubbleSort(int[] arr) {
int n = arr.length;
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - 1 - i; j++) {
if (arr[j] > arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
```
其中,`arr` 是待排序的数组,`n` 是数组的长度。在第一层循环中,我们依次将数组中的每个元素都作为当前最大的元素进行比较;而在第二层循环中,则是对当前最大的元素进行“冒泡”,将其放置到正确的位置上。这里使用了一个 `temp` 变量来进行交换操作。
相关问题
用java写一个冒牌排序
使用java编写冒牌排序的代码如下:
```java
public static void fakeSort(int[] arr) {
for (int i = 0; i < arr.length; i++) {
int temp = arr[i];
int randomIndex = (int) (Math.random() * arr.length);
arr[i] = arr[randomIndex];
arr[randomIndex] = temp;
}
}
```
请注意,冒牌排序不是一种有效的排序算法,因为它不能保证排序后的数组是有序的。
Python 冒牌排序
冒泡排序(Bubble Sort)是一种简单的排序算法,它重复地遍历要排序的数列,每次比较相邻两个元素,如果它们的顺序错误就把它们交换过来,直到没有元素再需要交换,排序完成。
Python 冒牌排序实现代码如下:
```python
def bubble_sort(arr):
n = len(arr)
# 遍历所有数组元素
for i in range(n):
# 最后 i 个元素已经排好序,不需要再比较
for j in range(0, n-i-1):
# 如果当前元素大于下一个元素,则交换它们的位置
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
```
示例:
```python
arr = [64, 34, 25, 12, 22, 11, 90]
print(bubble_sort(arr)) # [11, 12, 22, 25, 34, 64, 90]
```
这段代码使用了两层循环,外层循环遍历数组,内层循环比较相邻两个元素并交换它们的位置,直到排序完成。时间复杂度为 $O(n^2)$,空间复杂度为 $O(1)$。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)