数组之排序
常用排序算法:
冒泡排序
插入排序
快速排序
选择排序
排序算法的时间&&空间复杂度
排序算法的稳定性
冒泡排序——bubbleSort
是一种简单的排序算法,重复地走访要排序的数列,一次比较两个元素,如果它们的顺序错误就把他们交换。走访数列的工作是重复的进行直到没有需要交换。
如果两个数关系不正确——交换——重复1、2步——如果走了一遍发现没有产生交换说明排序完成
时间复杂度 O(n^2) 最好O(n)
选择排序——selectSort
将一个值跟数组剩余依次比较,每次得到当前剩余数中最小/大元素放到数组开头
Public class sort{
public static void bubbleSort(int array[]){
int t = 0;
for(int i = 0; i < array.length; i++){
for(int j = 0; j < array.length-1-i; j++){ //因为每遍历一次都会最少排好一个数字
if(array[j+1] < array[j])
swap(array[j], array[j+1]); //两值交换如果不引入新的变量,可以用a=a+b; b = a-b; a = a-b;
}
}
}
public static void selectSort(int array[]){
for(int i = 0; i<array.length;i++){
for(int j = i+1; j<array.length; j++){
if(array[i] > array[j]) swap(array[i], array[j]);
}
}
}
public static void main(String[] args){
int[] array = new int[]{4,7,1,2,9,3,5,8,6};
bubbleSort(a);
for(int i = 0; i<array.length; i++){ //输出数组
System.out.print(array[i] + ” “);
}
}
}
数组之排序
原文地址:https://www.cnblogs.com/cherry-BAIL/p/13369780.html