排序算法总结
2021-05-19 06:28
标签:时间 一个 循环 oid for style return 原理 下标 原理:先把最大的数放后面,依次比较相邻的两个数,将小数放前面,大数放后面,这样第一次遍历就可以使做大的数放在了后面;第二次继续从起始位置遍历,把较大的数放在了倒数第二个位置,后面以此类推。时间复杂度O(n^2)。 原理:先把最小的数放前面。从下标0开始遍历数组,找到最小的数,把下标0的元素与最小的数交换位置;第二遍从下标1开始找到次小的数并交换位置,后面以此类推。时间复杂度为O(n^2)。 排序算法总结 标签:时间 一个 循环 oid for style return 原理 下标 原文地址:https://www.cnblogs.com/youngao/p/9743371.html1 冒泡排序
public static void bubbleSort(int[] arr) {
//判断需不需要排序
if (arr == null || arr.length ) {
return;
}
//外层循环控制结束位置,内层循环实现两两比较
for (int e = arr.length - 1; e > 0; e--) {
for (int i = 0; i ) {
if (arr[i] > arr[i + 1]) {
swap(arr, i, i + 1);
}
}
}
} 2 选择排序
public static void selectionSort(int[] arr) {
if (arr == null || arr.length ) {
return;
}
//外层循环控制起始位置,内层循环遍历比较
for (int i = 0; i ) {
int minIndex = i; //先设定一个最小下标
for (int j = i + 1; j ) {
minIndex = arr[j] //比较并找到最小的下标
}
swap(arr, i, minIndex);
}
}