Java数据结构与算法之冒泡排序、选择排序
2021-04-24 13:28
标签:class 冒泡排序 == flag 实现 static 更新 mic 说明 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。 因为排序的过程中,各元素不断接近自己的位置,如果一趟比较下来没有进行过交换,就说明序列有序,因此要在排序过程中设置一个标志flag判断元素是否进行过交换。从而减少不必要的比较。 冒泡排序规则 Java数据结构与算法之冒泡排序、选择排序 标签:class 冒泡排序 == flag 实现 static 更新 mic 说明 原文地址:https://www.cnblogs.com/njuptzheng/p/13264074.html冒泡排序
4.1 基本介绍
4.2 基本实现
4.3 代码实现
public class Sort {
public static void main(String[] args) {
// 构建测试数组
int[] array = {7,8,4,1,5};
int[] arr = bubbleSort(array);
System.out.println("------------------");
System.out.println(Arrays.toString(arr));
}
// 算法的具体实现
public static int[] bubbleSort(int[] arr) {
boolean flag = false; // 用于判断是否发生数字交换
for (int i = 0; i arr[j+1]) {
flag = true;
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
System.out.println(Arrays.toString(arr));
if (flag) { // 发生交换,则继续循环
flag = false;
}else { // 未发生交换,跳出循环
break;
}
}
return arr;
}
}
选择排序
5.1 选择排序思想
5.2 代码实现
public static int[] selectSort(int[] nums) {
int minIndex = 0;
int min = 0;
for (int i = 0; i nums[j]) {
min = nums[j];
minIndex = j;
}
}
if (minIndex != i) {
nums[minIndex] = nums[i];
nums[i] = min;
}
}
return nums;
}
插入排序
6.1 插入排序思路
6.2 代码实现
public static int[] insertSort(int[] nums) {
int insertNum = 0;
int insertIndex = 0;
for (int i = 1; i = 0 && insertNum
上一篇:JAVA中注解的使用
下一篇:python获取Excel数据