在比较数组的大小时,
int max = arr[0];
For(int x=1;x<arr.length;x++){
If(arr[x]>max)
max = arr[x];
}
将变量初始化为0时,其实是初始化数组的角标
int max = 0;
For(int x=1;x<arr.length;x++){
If(arr[x]>arr[max])
max = x;
}
数组排序
选择排序(selectSort)
内循环结束一次,最值出现在头角标位置
for(int i=0;i<array.length-1;i++){
For(int y=i+1;y<array.length;y++){
If(array[i]>array[y]){
Int temp = array[i];
Array[i] = array[y];
Array[y] =temp;
}
}
}
冒泡排序 (bubbleSort):相邻的二个元素进行比较,符合条件换位
for (int x=0;x<Array.length-1;x++) {
For(int y;y<array.length-1;y++){
If(array[y]<array[y+1]){
Int temp = array[y];
Array[y] = array[y+1];
Array[y+1] = temp;l
}
}
}
Array..sort(); 对数组进行排序
折半查找,提高效率,但是必须保证数组是有序的
halfSearch()
Int min=0,max=arr.length-1,mid;
Mid = (Max+min)/2;
While(arr[mid]!=key){
If(key>arr[mid]){
Min = mid+1;
}else if (key<arr[mid]){
Max =mid-1;
}
If(min>max)
Return -1;
Mid =(Max+min)/2;
}
折半查找2
Int min=0;max=arr.length-1,mid;
while(min<=max){
Mid =(max+min)/2;
If(key>arr[mid])
Min =mid+1;
Else if(key<arr[mid])
Min =mid-1;
}
二进制,八进制,十六进制转换
十进制到二进制 trans(num,1,1)
十进制到八进制 trans(num,7,3)
十进制到十六进制 trans(num,15,4)
Public static void trans(int num,int base,int offset){
Char [] =chs {'0','1','2','3'
'4','5','6','7'
'8','9','A','B'
'C','D','E','F'};
Char arr = new char[32];
Int pos =arr.length;
While(num!=0){
Int temp =num&base;
Arr[--pos] =chs[temp];
Num = num>>>offset;
}
For(int x=pos;x<arr.length;x++){
System.out.print(arr[x]);
}
}
二维数组
int [ ] x,y[ ]; (一般不这么用,只考试时有这样定义)//x一维,y二维 等价于 int [ ] x; int [ ]y[ ];