`排序总结
1 冒泡排序
方法:java中的冒泡排序是通过比较相邻两个元素之间的数值大小,把较大的数冒到后面去,通过创建循环使程序跑起来,每次循环固定一个格子,直到所有的数之间都有序,形成一个从小到大的有序排列的数组
时间复杂度:O(n^2)
空间复杂度:O(1)
稳定性:稳定.
2 选择排序
方法:把最小的值选择到最前面.从第一次开始,每次从待排序中选择最小的数和当前i所在位置的值进行比较,把最小的放在前面,直到所有的数都从小到大排序,成为一个有序数组.
时间复杂度:O(n^2)
空间复杂度:O(1)
稳定性:不稳定
3 插入排序:
方法: 定义指针i从第二个数开始,把这个数保存下来,重新定义一个指针j,从i前面的数开始依次往前找要插入的位置,比较i号下标对应的数据的值与j号下标以及j之前的数的大小,选择所要插入的位置.i从前往后遍历,j从后往前遍历找要插入的位置.循环结束后把保存的数插入最后一次找的位置.
public static void insertSort(int[]arr){
if (arr==null || arr.length==0||arr.length==1){
return;
}
int j =0;
for (int i=1;i<arr.length;i++){//从一号下标的位置开始
int temp=arr[