1.冒泡排序
pre2:给定一个数组arr[8,5,7,6,2,3],将最小的数字放在第一位,要求时间复杂度为o(N)且不能用内置函数
int indexMin=0;
for(int i=1;i<arr.length;i++){
indexMin=arr[i]<arr[indexMin]?i:indexMin;
}
2.选择排序
3.插入排序
for(int i=1;i<arr.length;i++){
for(int j=i-1;j>=0&&arr[j]>arr[j+1];j--){
swap
}
}
4.二分
二分法的一般操作分了3种:
a.在有序数组中找一个数
二分主要是通过中间值不断的平分区间,时间复杂度是O(N),即2的N次方
b.在有序数组中寻找左边界
c.在有序数组中寻找右边界
同上:主要要确定边界值