大一大二用了两年的c/c++,然后java实在是太繁琐然后写个笔记备忘,以防过两天连sort都不会调了。
数组排序
public static void main(String[] args) {
// TODO 自动生成的方法存根
int n;
Scanner cin = new Scanner(System.in);
n= cin.nextInt();
int co[]=new int[n];
for(int i=0;i<n;i++){
co[i]=cin.nextInt();
}
Arrays.sort(co,0,n);//util.Arrays
// Arrays.sort(co);//全数组排序,小心使用
for(int i=0;i<n;i++){
System.out.print(co[i]+" ");//不可以是' '
}
cin.close();
}
类排序
占坑待补
没找到swap(很难过)
二分查找
·binarySearch(Object[] a, Object key)
相当于lower_bound
若key是数组元素:
- 返回key的索引值
若key不是数组元素
- 返回 取负数(插入点+1) //插入点是指第一个大于key的索引 (这里因为条件是key不在数组中,因此也等价于大于等于)
总结一下就是返回第一个 大于等于 key的索引(下标从0开始),但是如果key不在数组中则下标从1开始且取负数。
·binarySearch(Object[] a, int fromIndex, int toIndex, Object key)
多了两个参数,表示在索引区间[ fromIndex, int toIndex)上搜索,其它都和上面一样
未完待续