![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
public class selectsort10 { public static void main(String[] args) { int[] arr = new int[]{1,20 ,10,4,5,6}; selectsort(arr); //排序后 printArray(arr); } public static void selectsort(int[] arr) { for(int x=0;x<arr.length-1;x++) { for(int y=x+1;y<arr.length;y++) { if(arr[x]>arr[y]) { int temp = arr[x]; arr[x] = arr[y]; arr[y] = temp; } } } } public static void printArray(int[] arr) { System.out.print("["); for(int x=0;x<arr.length;x++) { if(x!=arr.length-1) System.out.print(arr[x]+","); else System.out.println(arr[x]+"]"); } } }
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
public class bubblesort { public static void main(String[] args) { int[] arr = new int[]{1,20 ,10,4,5,6}; bubblesort(arr); //排序后 printArray(arr); } public static void bubblesort(int[] arr) { for(int x=0;x<arr.length-1;x++) { for(int y=0;y<arr.length-x-1;y++) { if(arr[y]>arr[y+1]) { int temp = arr[y]; arr[y] = arr[1+y]; arr[y+1] = temp; } } } } public static void printArray(int[] arr) { System.out.print("["); for(int x=0;x<arr.length;x++) { if(x!=arr.length-1) System.out.print(arr[x]+","); else System.out.println(arr[x]+"]"); } } }
希尔排序效率最高
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
public class halfsearch { public static void main(String[] args) { int[] arr = new int[]{1,2 ,3,4,5,6}; int index = halfsearch(arr,6); System.out.println("index="+index); } public static int halfsearch(int[] arr,int key) { int mid,min=0,max=arr.length-1; while(min<=max) { mid = (max+min)>>1; if(arr[mid]==key) return mid; else if(arr[mid]>key) max=mid-1; else min=mid+1; } return -1; } /* public static int getIndex(int[] arr,int key) { for(int x=0;x<arr.length;x++) { if(arr[x]==key) return x; } return -1; } */ }
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
//十进制转换成十六进制 class tohex { public static void main(String[] args) { tohex(-16); } public static void tohex(int num) { char[] chs ={ '0','1','2','3','4','5','6','7' ,'8','9','a','b','c','d','e','f' }; char[] arr = new char[8]; int pos = arr.length; while(num!=0) { int temp =num&15; arr[--pos]= chs[temp]; num =num >>> 4; } for(int x=pos;x<arr.length;x++) System.out.print(arr[x]+","); } }
java中无符号右移一位!是以二进制代码进行的!一个字节表示一个数字。即使八个比特位
如 22
二进制是 00010110 用你的式子就变成了:00001011
右移一位不足的补0
又如-22
二进制是:用补码表示,是11101001 右移1位变成了01110100
移出去的位数就被丢弃!
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
十进制转换成二进制 class tobin { public static void main(String[] args) { toBin(6); } public static void toBin(int num) { StringBuffer sb = new StringBuffer(); while(num>0) { //System.out.println(num%2); sb.append(num%2); num/=2; } System.out.println(sb.reverse()); } }
int[][] arr = new int[3][];
print(arr[0]) 输出null;
int[][] arr = new int[3][4];
print(arr[0]) 输出arr[]指向的一位数组
arr 里面有 三个元素 ,每个元素指向一个一维数组