没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
冒泡排序(Bubble Sort)
冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果它
们的顺序错误就交换位置。这个过程持续对数列的末尾进行,直到整个数列都排序完成。
import org.junit.jupiter.api.Assertions;
import java.util.Arrays;
public class Bubble {
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]) {
// 交换 arr[j+1]和 arr[j]
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
public static void main(String[] args) {
int[] arr = {5, 2, 8, 3, 1, 6};
int[] expectedArr = {1, 2, 3, 5, 6, 8};
Bubble.bubbleSort(arr);
System.out.println("arr = " + Arrays.toString(arr));
Assertions.assertArrayEquals(expectedArr, arr);
}
}
在上面的代码中, bubbleSort 函数接受一个整数数组作为输入,并使用冒泡排序算法对其
进行排序。外部循环运行 n - 1 次,其中 n 是数组的长度,内部循环运行 n - i - 1 次,其
中 i 是外部循环的当前迭代次数。这是因为在每次外部循环迭代后,最大的元素肯定在数
组的末尾,因此我们不需要再次比较它。
在内部循环中,我们比较相邻的元素并交换它们,如果它们的顺序不正确。这样,最大的元
素就“冒泡”到数组的末尾。在每次遍历数组后,最大的元素都处于它的最终位置,因此我
们可以将内部循环的大小减少 1。
冒泡排序的时间复杂度为 O(n^2),这使得它在大型列表和实际应用中效率低下。但是,由于
其简单性,它是向初学者教授排序的好算法。
资源评论
烈日下的奔跑
- 粉丝: 1071
- 资源: 232
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功