java===算法思想锻炼

package cn.china;

import java.util.Arrays;

public class TestDemo {

    public static void main(String[] args) {
        int arr[]=new int[]{1,2,3,8,4,24,55,7,10};
        int array[]={1,2,3,4,5,6,7,8,9,199};
        int Index=Arrays.binarySearch(array,50);
        System.out.println(Index);
        int In=binarySearch(array, 4);
        System.out.println(In);
        //int arr[]={1,2,3,8,4,24,55,7,10};
        //printSJX(8);
        //printSJX1(5);
        //printSJX2(6);
        //print99(10);
        //print99();
        //int sum=add(100);
        //System.out.println(sum);
        //int count=count();
        //System.out.println(count);
        printArr(arr);
        arrSortM(arr);
        printArr(arr);

    }
    public static void printSJX(int height){
        for(int x=0;x<height;x++){
            for(int y=0;y<x+1;y++){
                System.out.print("*");
            }
            System.out.println();
        }
    }
    public static void printSJX1(int height){
        for(int x=0;x<height;x++){
            for(int y=5;y>x;y--){
                System.out.print(y);
            }
            System.out.println();
        }
    }
    public static void printSJX2(int height){
        for(int x=0;x<height;x++){
            for(int y=0;y<x;y++){
                System.out.print(" ");
                
            }
            for(int z=x;z<height;z++){
                System.out.print("* ");
            }
            
            System.out.println();
        }
    }
    public static void print99(int height){
        for(int x=1;x<height;x++){
            for(int y=1;y<=x;y++){
                System.out.print(y+"*"+x+"="+x*y+"	");
            }
            System.out.println();
        }
    }
    public static void print99(){
        print99(10);
    }
    public static int add(int c){
        int sum=0;
        for(int x=0;x<c;x++){
            sum=sum+x;
            }
        return sum;
        
    }
    public static int count(){
        int z=0;
        for(int i=1;i<=100;i+=2){
            boolean f = true;
            for(int j=2;j<i;j++){
                if(i%j==0){
                f=false;
                break;
                }                
            }
            if(!f){continue;}else{
            System.out.println(i);
            z++;
            }
        }
        return z;
    }
    public static void printArr(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.print(arr[x]+"]");
            }
        }
    }
    public static void arrSort(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 arrSortM(int arr[]){
        for(int x=0;x<arr.length-1;x++){
            for(int y=0;y<arr.length-1-x;y++){
                exchange(arr, y, y+1);
            }
        }
    }
    public static void exchange(int arr[],int x,int y){
        if(arr[x]>arr[y]){
            int temp =arr[x];
            arr[x]=arr[y];
            arr[y]=temp;
        }
    }
    
    public static int binarySearch(int arr[],int m){
        
        int min=0;
        int max=arr.length-1;
        int mid;
        while(max>=min){
            mid=(min+max)>>1;
            if(arr[mid]>m){
                max=mid-1;
            }else if(arr[mid]<m){
                min=mid+1;
            }
            else {
                 return mid;
            }
        }
        return ~min;
    }

}
原文地址:https://www.cnblogs.com/wangyinxu/p/6503587.html